我的代码:
Keys = new Dictionary<string, string>();
Keys.Add("Набег_0", "raid_0");
当我得到时Keys.ElementAt(0)
,我有这个:{[Íàáåã_0, raid_0]}
。当然,当我运行程序时,key = "Набег_0"
未定义,程序崩溃并显示System.Collections.Generic.KeyNotFoundException
当我使用Windows 8.1 + Visual Studio 2013 + net 3.5时,此代码工作正常
我该如何解决?
您以某种方式说服了C#编译器,您的源代码是在代码页1251(东欧和俄罗斯的默认系统代码页)中编写的。这通常是由于文本文件缺少utf-8 BOM引起的。不清楚这种情况是如何发生的,也许您是使用Visual Studio内置的文本编辑器以外的其他文本编辑器创建文件的。也许它被源代码控制弄得一团糟,那些使用Unix背景的代码倾向于删除BOM。
在Visual Studio中打开源文件,并确保它仍能正确读取。然后使用“文件”>“另存为”,单击“保存”按钮上的箭头,选择“带有编码”,然后选择“ Unicode(带签名的UTF-8)”。
还要确保默认值仍然合适。文件>高级保存选项>如有必要,更改编码。如果您习惯性地使用另一个文本编辑器,则需要对其进行配置,以便它使用BOM表保存文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句