【发布时间】:2016-12-01 21:28:11
【问题描述】:
在“通用实践和代码改进”的标题下,Resharper 谈到了这一行:
If dt(0)("ThemeWidth").ToString.IndexOf("%") > "0" Then
headerPanel.Width = Unit.Percentage(dt(0)("ThemeWidth").ToString.Replace("%", ""))
“String.IndexOf(string) 是特定于文化的”并鼓励我将其更改为:
If dt(0)("ThemeWidth").ToString.IndexOf("%", StringComparison.Ordinal) > "0" Then
headerPanel.Width = Unit.Percentage(dt(0)("ThemeWidth").ToString.Replace("%", ""))
为什么?添加“StringComparison.Ordinal”对我有什么改进代码的作用?
【问题讨论】:
-
机器人很可能只是从 MSDN 中复制一些东西,例如
Use StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase for comparisons as your safe default for culture-agnostic string matching.参见 Best Practices for Using Strings in the .NET Framework... 或者不要接受机器人的命令 -
马克吐温曾经说过那些不记得过去的人注定要重蹈覆辙。?见Could string comparisons really differ based on culture when the string is guaranteed not to change
-
不,那是桑塔亚那。
标签: vb.net resharper string-comparison indexof