解决错误使用未分配变量的最佳方法是什么?以下代码包含错误:
string[] Names;
Countries.Keys.CopyTo(Names, 0);
此处Countries
的类型为Dictionary<string, string>
。 Names
数组出错。
答案 0 :(得分:4)
您需要创建一个空数组以将值复制到:
string[] Names = new string[Countries.Keys.Count];
Countries.Keys.CopyTo(Names,0);
如果您可以使用LINQ,则可以
执行此操作string[] names = Countries.Keys.ToArray();
答案 1 :(得分:2)
假设国家/地区集是字典,例如:
string[] names = new string[countries.Count];
关于.NET编码约定,局部变量和私有类型成员应标题为驼峰,因此使用“名称”而不是“国家”而不是国家,假设国家不是财产。
答案 2 :(得分:1)
最好使用default构造,如果可能的话,使用一些它的intiial值初始化一些变量:
例如:
var x = default(int);
在你的情况下,它可能是
string[] s = default(string[]);
修改强>
考虑已编辑的问题,您必须进行正确初始化 ,因为引用类型的default
值将返回null
,其中你的具体情况会产生异常。
所以只需将其初始化为:
string[] s= new string[Countries.Keys.Count];
答案 3 :(得分:1)
您必须初始化数组以克服这个问题:
string[] Names = new string[Countries.Keys.Count];