割り当てられていない変数のエラー使用を解決する最良の方法は何ですか? 次のコードにはエラーが含まれています。
string[] Names;
Countries.Keys.CopyTo(Names, 0);
これCountries
は のタイプDictionary<string, string>
です。Names
配列にエラーが発生します。
割り当てられていない変数のエラー使用を解決する最良の方法は何ですか? 次のコードにはエラーが含まれています。
string[] Names;
Countries.Keys.CopyTo(Names, 0);
これCountries
は のタイプDictionary<string, string>
です。Names
配列にエラーが発生します。
値を次の場所にコピーするには、空の配列を作成する必要があります。
string[] Names = new string[Countries.Keys.Count];
Countries.Keys.CopyTo(Names,0);
LINQを使用できる場合は、次のように実行できます。
string[] names = Countries.Keys.ToArray();
国セットが辞書であると仮定します。次に例を示します。
string[] names = new string[countries.Count];
.NET コーディング規則に関しては、ローカル変数とプライベート型メンバーはキャメル ケースでタイトル付けする必要があります。そのため、Countries がプロパティではないと仮定して、"Name" の代わりに "name" を使用し、Countries の代わりに "countries" を使用します。
可能であれば、初期値を使用して変数を初期化するときに、デフォルトの構成を使用することをお勧めします。
例:
var x = default(int);
あなたの場合、それは可能性があります
string[] s = default(string[]);
編集
編集された質問を考慮すると、参照型の値が返されるため、正しく初期化を実行する必要があります。これは、特定の場合に例外を生成します。default
null
したがって、次のように初期化します。
string[] s= new string[Countries.Keys.Count];
これを克服するには、配列を初期化する必要があります。
string[] Names = new string[Countries.Keys.Count];