-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 コーディング規則に関しては、ローカル変数とプライベート型メンバーはキャメル ケースでタイトル付けする必要があります。そのため、Countries がプロパティではないと仮定して、"Name" の代わりに "name" を使用し、Countries の代わりに "countries" を使用します。

于 2012-10-17T10:51:59.923 に答える
1

可能であれば、初期値を使用して変数を初期化するときに、デフォルトの構成を使用することをお勧めします。

var x = default(int);

あなたの場合、それは可能性があります

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

編集

編集された質問を考慮すると、参照型の値が返されるため、正しく初期化を実行する必要があります。これは、特定の場合に例外を生成します。defaultnull

したがって、次のように初期化します。

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 に答える