相关疑难解决方法(0)

当字符串保证不会改变时,字符串比较真的可以根据文化而有所不同吗?

我正在从配置文件中读取加密的凭证/连接字符串.Resharper告诉我,"String.IndexOf(string)在这里是特定于文化的"这一行:

if (line.Contains("host=")) {
    _host = line.Substring(line.IndexOf(
        "host=") + "host=".Length, line.Length - "host=".Length);
Run Code Online (Sandbox Code Playgroud)

......所以想把它改成:

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

无论应用程序在何处部署,我正在阅读的值始终为"host =".添加这个"System.StringComparison.Ordinal"位是否真的明智?

更重要的是,它可以伤害任何东西(使用它)吗?

c# resharper cultureinfo configuration-files string-comparison

54
推荐指数
3
解决办法
2万
查看次数