CA1308:必須將字串標準化為大寫字母
屬性 | 值 |
---|---|
規則識別碼 | CA1308 |
標題 | 必須將字串標準化為大寫字母 |
類別 | 全球化 |
修正程式是中斷或非中斷 | 不中斷 |
預設在 .NET 8 中啟用 | No |
原因
作業會將字串正規化為小寫。
檔案描述
字串應該標準化為大寫字母。 一小組字元,當轉換成小寫時,無法進行來回行程。 若要進行來回行程,表示將字元從一個地區設定轉換成另一個地區設定,以不同的方式表示字元資料,然後準確地從轉換的字元擷取原始字元。
如何修正違規
變更將字串轉換成小寫的作業,讓字串改為轉換成大寫。 例如,將 String.ToLower(CultureInfo.InvariantCulture)
變更為 String.ToUpper(CultureInfo.InvariantCulture)
。
隱藏警告的時機
當您未根據正規化的結果做出安全性決策時,隱藏警告是安全的(例如,當您在 UI 中顯示結果時)。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308
若要停用檔案、資料夾或專案的規則,請在組態檔 中將其嚴重性設定為 。 none
[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none
如需詳細資訊,請參閱 如何隱藏程式碼分析警告 。