解決錯誤的最佳方法是什麼使用未分配變量?下面的代碼包含錯誤:使用未分配變量c#
string[] Names;
Countries.Keys.CopyTo(Names, 0);
這裏Countries
是Dictionary<string, string>
類型。錯誤來自Names
陣列。
解決錯誤的最佳方法是什麼使用未分配變量?下面的代碼包含錯誤:使用未分配變量c#
string[] Names;
Countries.Keys.CopyTo(Names, 0);
這裏Countries
是Dictionary<string, string>
類型。錯誤來自Names
陣列。
,最好使用default結構,如果可能的話,在一些一些變量的初始化是 intiial值:
例如:
var x = default(int);
你的情況
,它可以be
string[] s = default(string[]);
編輯
考慮編輯問題,你必須攜帶正確 intializing ,爲引用類型default
值將返回null
,這在特定的情況下,會產生異常。
所以只是將其初始化喜歡:
string[] s= new string[Countries.Keys.Count];
您需要創建一個空數組中的值複製到:
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編碼約定,局部變量以及私有類型成員的標題應該是駱駝名稱,因此,如果國家不是屬性,則應使用「名稱」而不是「名稱」和「國家/地區」 。
您必須初始化數組來解決這個問題:
string[] Names = new string[Countries.Keys.Count];
'Countries.Keys.Count'? – Rawling
名稱不分配。嘗試字符串[]名稱=新字符串[5]; – scheien
但是,如果鑰匙數超過5呢? – user1574860
編譯器不夠智能.. –