我希望允許用戶在搜索Platypus時輸入Platypus的ID或名稱(或名稱的一部分)。Instantiation其次是作業編譯,但
數據庫現在正在運行,所以我無法測試這段代碼,但我分配給kvp兩次的事實看起來不正確。總之,第一我的代碼:
String SearchVal = textBoxPlatypusNumOrPartialName.Text.Trim();
int PlatypusID;
int.TryParse(SearchVal, out PlatypusID);
Dictionary<int, string> CandidatePlatypusDict = PlatypusID > 0 ? PlatypusSetupData.GetPlatypusById(PlatypusID) : PlatypusSetupData.GetCandidatePlatypusFromName(SearchVal);
KeyValuePair<int, String> kvp = new KeyValuePair<int, string>();
using (var getPlatypusIDAndNameDlg = new GetPlatypusForm(CandidatePlatypusDict)) {
DialogResult dr = getPlatypusIDAndNameDlg.ShowDialog();
if (dr == DialogResult.OK) {
kvp = getPlatypusIDAndNameDlg.PlatypusKVP;
}
}
...現在,如果我嘗試這個:
KeyValuePair<int, String> kvp; // = new KeyValuePair<int, string>();
我得到:
我 「未分配的局部變量 'KVP' 的使用」不能將null分配爲KeyValuePair,因爲它是非空類型。
這是kvp的實例,然後賦值給它,如果沒有,我該如何解決它?
可能出現[KeyValuePair的默認值](http://stackoverflow.com/questions/1641392/the-default-for-keyvaluepair) – 2012-07-09 17:15:33
出於興趣,爲什麼使用keyvaluepair作爲搜索結果?例如,您是否可以沒有List?它簡化了許多這類問題,因爲你只處理鴨嘴獸的時候 - 這就是你正在尋找的東西。我真的很喜歡你們的這些問題! –
dash
2012-07-09 17:21:59
@ - :謝謝,但爲什麼(你喜歡他們)? – 2012-07-09 17:32:07