使用未分配的变量c#

时间:2012-10-17 10:48:39

标签: c#

解决错误使用未分配变量的最佳方法是什么?以下代码包含错误:

string[] Names;
Countries.Keys.CopyTo(Names, 0);

此处Countries的类型为Dictionary<string, string>Names数组出错。

4 个答案:

答案 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];