我对C#很陌生。 ReSharper警告我使用" string.IndexOf"是文化特有的。具体文化究竟是什么?
答案 0 :(得分:3)
文化指的是语言,例如美式英语(en-us)和英式英语(en-gb)(就.NET而言,显然是相同的语言,但文化不同)。使用" string.IndexOf"是因为某些角色(认为带有重音符号和变音符号的角色)在不同的文化中得到不同的对待。没有足够的unicode值来表示每种语言中的每个字符,因此在某些文化设置中,某些字符组合(例如' a'后面跟变音符号)组合成单个字符但在其他字符组合中他们可能不是文化背景。所以使用" string.IndexOf"在具有变音符号的字符串上可能会产生不同的结果,具体取决于设置的文化。但在大多数情况下,特别是如果您只是学习,字符串类的默认行为就可以了。
答案 1 :(得分:1)
如果任何接受文化作为过载的方法,Resharaper是遵循某些编码标准的扩展。那么在您的代码中提供这些功能是非常好的做法
comparisonType
参数指定使用当前或不变文化搜索value参数,使用区分大小写或不区分大小写的搜索,并使用单词或序数比较规则。