Könnten sich String-Vergleiche je nach Kultur wirklich unterscheiden, wenn sich der String garantiert nicht ändert?
Ich lese verschlüsselte Anmeldeinformationen / Verbindungszeichenfolgen aus einer Konfigurationsdatei. Resharper sagt mir, "String.IndexOf (string) ist hier kulturspezifisch" in dieser Zeile:
if (line.Contains("host=")) {
_host = line.Substring(line.IndexOf(
"host=") + "host=".Length, line.Length - "host=".Length);
... und möchte es so ändern:
if (line.Contains("host=")) {
_host = line.Substring(line.IndexOf("host=", System.StringComparison.Ordinal) + "host=".Length, line.Length - "host=".Length);
Der Wert, den ich lese, ist immer "host =", unabhängig davon, wo die App bereitgestellt werden kann. Ist es wirklich sinnvoll, dieses "System.StringComparison.Ordinal" -Bit hinzuzufügen?
Könnte es noch wichtiger sein, etwas zu verletzen (es zu benutzen)?