我有一个散列表,它存储IP作为密钥的字符串和我的创建对象在相应的值。不理解异常,不能转换为可读文本
我一直在foreach (DictionaryEntry info in MasterHash.Keys)
得到例外。 更具体地说,它发生在调试器到达DictionaryEntry
时。 我试图从我的try catch语句中激发消息,但编译器不喜欢我试图将e
转换为.ToString
或.Message
。
private void UpdateMap(Hashtable masterHash)
{
try
{
foreach (DictionaryEntry info in masterHash.Keys)
{
AxShockwaveFlashObjects.AxShockwaveFlash axFlash = wfh.Child as AxShockwaveFlashObjects.AxShockwaveFlash;
IPInstance foo = (IPInstance)info.Value;
axFlash.CallFunction(foo.GetMarkerCall().ToString(SaveOptions.DisableFormatting));
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
我尝试用字符串而不是字典条目实现foreach。 IDE现在抱怨:错误\t 1'string'不包含'Value'的定义,并且没有找到接受'string'类型的第一个参数的扩展方法'Value'(您是否缺少using指令或程序集参考?) 如何在foreach中使用字符串时检索我的对象? – Paul 2010-06-27 01:58:29
更仔细一点,散列表的键被枚举为ICollection。我会编辑一个建议。 – 2010-06-27 02:09:40
如果您使用.net 3.0或更高版本,您可以在'foreach'语句中使用'var'而不是object。 – juharr 2010-06-27 02:59:59