【发布时间】:2015-03-17 15:17:52
【问题描述】:
我正在尝试使用此代码使用一些注册表信息填充列表视图。
private void button1_Click(object sender, EventArgs e)
{
ListViewItem lvItem = null;
RegistryKey uninstallKey = Registry.LocalMachine.OpenSubKey(UninstallPath);
if (uninstallKey != null)
foreach (var subKey in uninstallKey.GetSubKeyNames())
{
using (RegistryKey key = uninstallKey.OpenSubKey(subKey))
{
if (key != null)
{
lvItem =
new ListViewItem(key.GetValue("DisplayName").ToString());
lvItem.SubItems.Add(key.GetValue("Publisher").ToString());
}
}
listView1.Items.Add(lvItem);
}
}
}
调试应用程序时一切正常。在断点命中之前没有任何 null
lvItem = new ListViewItem(key.GetValue("DisplayName").ToString());
lvItem.SubItems.Add(key.GetValue("Publisher").ToString());
应用程序崩溃并给我空指针异常。我知道这是一个愚蠢的问题,但我真的不明白它怎么会是空的。
【问题讨论】:
-
我猜
key.GetValue("DisplayName")返回null,然后在ToString崩溃。