我想允许用户在搜索鸭嘴兽时输入鸭嘴兽的 ID 或名称(或名称的一部分)。
数据库现在已关闭,因此我无法测试此代码,但我分配给 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,因为它是不可为 null 的类型。
这个 kvp 的实例化然后分配给它可以吗,如果不是,我该如何解决它?