我有一个.NET远程客户端/服务器应用程序,其中我的远程对象有一个返回Dictionary的方法,如下所示:
public Dictionary<string, string> Test()
{
Dictionary<string, string> d = new Dictionary<string, string>(StringComparer.CurrentCultureIgnoreCase);
d.Add("name", "test");
return d;
}
当运行Windows 10并使用更新1709(创建者更新)的客户端计算机调用此远程方法时,键查找不再不区分大小写,即ContainsKey(&#34; Name&#34;)返回false。
在更新1709之前不是这种情况,或者如果还原更新1709。此外,如果字符串比较器更改为StringComparer.OrdinalIgnoreCase(仅更改服务器端),则ContainsKey(&#34; Name&#34;)将返回true。
客户端和服务器都使用相同的区域和语言设置(英语爱尔兰en-IE)。此Windows更新中是否有更改导致此行为?
答案 0 :(得分:1)
这可能适合你。
public Dictionary<string, string> Test()
{
Dictionary<string, string> d = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
d.Add("name", "test");
return d;
}