2017-02-04 17 views
2

我在C#上很新。 ReSharper警告說,使用「string.IndexOf」是文化特定的。什麼是文化特定?C# - 什麼是文化特定?

+1

閱讀此:https://msdn.microsoft.com/en-us/library/dd465121(v=vs.110).aspx –

回答

2

文化是指語言例如美國英語(EN-US)和英國英語(en-GB)(顯然同一種語言,但不同的文化就.NET而言)。使用「string.IndexOf」時可能很重要的原因是某些字符(認爲帶有重音符號和變音符號的字符)在不同的文化中得到不同的處理。沒有足夠的unicode值來表示每種語言中的每個字符,因此在某些文化設置中,某些字符組合(例如'a'後跟元音變音符號)會合併爲單個字符,但在其他文化環境中可能不會。因此,對帶有元音變音符的字符串使用「string.IndexOf」可能會根據設定的區域性產生不同的結果。但是在大多數情況下,特別是如果你只是在學習,字符串類的默認行爲將會很好。

1

Resharaper是擴展遵循一些編碼標準如有接受文化爲overload.then方法是在你的代碼提供這些功能非常好的做法

comparisonType 

參數指定要搜索的值參數使用當前或不變文化,使用區分大小寫或不區分大小寫的搜索,並使用單詞或有序比較規則。

More Info