C# 如何从对象{System.Collections.Generic.KeyValuePair<;string,object>;中提取值;?

C# 如何从对象{System.Collections.Generic.KeyValuePair<;string,object>;中提取值;?,c#,object,C#,Object,我的目标如下: object{System.Collections.Generic.KeyValuePair} 键是“ipAddresses”字符串 值为object[]其中此数组中的[0]是一个object[string] 我想提取的。(这是一个IP地址) 我尝试了以下代码,但没有成功: object.GetType().Getproperty("ipAddresses") object.GetType().GetField("ipAddresses") 请注意,对象类型为:(来自手表) 价

我的目标如下:

object{System.Collections.Generic.KeyValuePair}

键是“ipAddresses”字符串 值为
object[]
其中此数组中的[0]是一个object[string] 我想提取的。(这是一个IP地址)

我尝试了以下代码,但没有成功:

object.GetType().Getproperty("ipAddresses")
object.GetType().GetField("ipAddresses")
请注意,对象类型为:(来自手表)

价值观

{[IPAddresss,System.Object[]}

类型

对象{System.Collections.Generic.KeyValuePair}

我想将
值[0]
从KeyValuePair保存为字符串。任何帮助都将不胜感激:)

object obj;//从某处获取键值对
对象ips=((KeyValuePair)obj.Value;
字符串ip=((对象[])ip)[0].ToString();
objectobj;//从某处获取键值对
对象ips=((KeyValuePair)obj.Value;
字符串ip=((对象[])ip)[0].ToString();

从什么时候起,
System.Collections.Generic.KeyValuePair
就有了一个名为
ipAddresses的属性了?你的代码有一个非常具体的意图,根本没有意义。我想你可以做object.Value[0][0]还是我错了?
System.Collections.Generic.KeyValuePair
什么时候有了一个名为
ipAddresss
的属性?你的代码有一个非常具体的意图,根本没有意义。我想你可以做object.Value[0][0]还是我错了?嘿,谢谢你的回答。不幸的是,当我尝试此选项时,我会出现以下错误:“错误CS0021:无法将[]索引应用于'object'类型的表达式”。嘿,谢谢你的回答。不幸的是,当我尝试此选项时,我会出现以下错误:“错误CS0021:无法应用[]索引对于“object”类型的表达式,“我尝试并得到以下异常:”((KeyValuePair)value)。value“引发了类型为“System.InvalidCastException”的异常数据:{System.Collections.ListDictionaryInternal}HResult:-2147467262帮助链接:null InnerException:null消息:“指定的强制转换无效。”Source:null StackTrace:null TargetSite:null注意类型是(从监视)名称值类型obj{[ipAddresses,System.Object[]}对象{System.Collections.Generic.KeyValuePair}Wow stack overflow真的不希望我添加空格或新行…我希望你能理解那里写的内容:)你是指对象ips=((KeyValuePair)obj).Value吗?由于对对象[]的强制转换无法完成…我尝试了不使用,但得到了“指定强制转换无效”异常。看看我更新的原始问题,我已经添加了watch中的特定类型。非常感谢您的努力!@ItamarLevy您在同一行上得到异常了吗?您之前在
2
行上有异常,但现在它可能在
3
行上。它正在工作!我可能没有正确复制它。非常感谢!我ied并获得以下异常:“((KeyValuePair)value).value”引发了类型为“System.InvalidCastException”的异常数据:{System.Collections.ListDictionaryInternal}HResult:-2147467262帮助链接:null InnerException:null消息:“指定的强制转换无效。”Source:null StackTrace:null TargetSite:null注意类型是(从监视)名称值类型obj{[ipAddresses,System.Object[]}对象{System.Collections.Generic.KeyValuePair}Wow stack overflow真的不希望我添加空格或新行…我希望你能理解那里写的内容:)你是指对象ips=((KeyValuePair)obj).Value吗?由于对对象[]的强制转换无法完成…我尝试了不使用,但得到了“指定强制转换无效”异常。看看我更新的原始问题,我已经添加了watch中的特定类型。非常感谢您的努力!@ItamarLevy您在同一行上得到异常了吗?您之前在
2
行上有异常,但现在它可能在
3
行上。它正在工作!我可能没有正确复制它。非常感谢!
string ipAddress = object["ipAddresses"][0];
object obj; //get key value pair from somewhere
object ips = ((KeyValuePair<string, object>)obj).Value;
string ip = ((object[])ips)[0].ToString();