Могут ли сравнения строк действительно различаться в зависимости от культуры, если строка гарантированно не изменится?

Я читаю зашифрованные учетные данные/соединение строки из конфигурационного файла. Resharper говорит мне: «String.IndexOf(string) здесь зависит от культуры» в этой строке:

if (line.Contains("host=")) {
    _host = line.Substring(line.IndexOf(
        "host=") + "host=".Length, line.Length - "host=".Length);

… и поэтому хочет изменить его на:

if (line.Contains("host=")) {
    _host = line.Substring(line.IndexOf("host=", System.StringComparison.Ordinal) + "host=".Length, line.Length -   "host=".Length);

Значение, которое я читаю, всегда будет «host= " независимо от того, где приложение может быть развернуто. Действительно ли разумно добавить этот бит «System.StringComparison.Ordinal»?

Что еще более важно, может ли это повредить чему-либо (использовать его)?

53
задан B. Clay Shannon 7 June 2012 в 12:46
поделиться