我对 C# 很陌生。 ReSharper 警告我使用“string.IndexOf”是特定于文化的。究竟什么是特定于文化的?

最佳答案

文化是指语言,例如美式英语 (en-us) 和英式英语 (en-gb)(就 .NET 而言,显然是相同的语言但不同的文化)。使用 "string.IndexOf"的原因可能是因为某些字符(想想带有重音和变音符号的字符)在不同的文化中受到不同的对待。没有足够的 unicode 值来表示每种语言中的每个字符,因此在某些文化设置中,某些字符组合(例如 'a' 后跟一个变音符号)被组合成一个字符,但在其他文化设置中它们可能不是。因此,在带有变音符号的字符串上使用“string.IndexOf”可能会产生不同的结果,具体取决于设置的文化。但在大多数情况下,尤其是当您刚刚学习时,字符串类的默认行为就可以了。

关于C# - 什么是特定于文化的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42037148/

10-13 09:15