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

如需詳細資訊,請參閱 如何隱藏程式碼分析警告

另請參閱