-3

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

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

这里Countries是类型Dictionary<string, string>Names数组出现错误。

4

4 回答 4

4

您需要创建一个空数组将值复制到:

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

如果你可以使用 LINQ,你可以这样做

string[] names = Countries.Keys.ToArray();
于 2012-10-17T10:51:02.763 回答
2

假设国家集是一个字典,例如:

string[] names = new string[countries.Count];

关于 .NET 编码约定,局部变量和私有类型成员的标题应为驼峰式,因此使用“名称”而不是“名称”和“国家”而不是国家,假设国家不是属性。

于 2012-10-17T10:51:59.923 回答
1

最好使用默认构造,如果可能的话,在初始化一些变量时使用一些它的初始值:

例如

var x = default(int);

在你的情况下,它可能是

string[] s = default(string[]);

编辑

考虑到已编辑的问题,您必须正确进行初始化,因为defaultreference-type 的值会返回null,在您的特定情况下,这会产生异常。

所以只需像这样初始化它:

string[]  s=  new string[Countries.Keys.Count];
于 2012-10-17T10:50:55.867 回答
1

您必须初始化数组来克服这个问题:

string[]  Names =  new string[Countries.Keys.Count];
于 2012-10-17T10:52:45.443 回答