C# 如何在KeyValuePair列表中获取对象的值
C# 如何在KeyValuePair列表中获取对象的值,c#,keyvaluepair,C#,Keyvaluepair,var list=newlist(){} 我想从列表中找到接口IObject的实际值。我该怎么做 您可以循环浏览列表项并打印其值: foreach(var item in list) { Console.WriteLine(item.Value); } 取决于要打印的内容。如果IOObject在例如Info()方法中返回它的值,那么它应该如下所示 foreach (var kvp in list) { Console.WriteLine(kvp.Value.Info()); }
var list=newlist(){}代码>
我想从列表中找到接口IObject的实际值。我该怎么做 您可以循环浏览列表项并打印其值:
foreach(var item in list)
{
Console.WriteLine(item.Value);
}
取决于要打印的内容。如果IOObject在例如Info()方法中返回它的值,那么它应该如下所示
foreach (var kvp in list)
{
Console.WriteLine(kvp.Value.Info());
}
这可能会解决OPs问题,如果IObject
还包含一些ToString
,我猜这是OPs的实际问题-只是一个猜测。object
类型实现ToString
,所以它会打印一些东西;-)当然会的。但如果这有意义,那是另一个问题。很可能OP会得到类似于MyNamespace.MyObject
的内容。实际上,在我针对接口对象类型的情况下,字符串只是其中一种类型。您已经尝试了什么?关于获取某些数据的字符串表示形式,有数百个问题。Info
-方法?你是如何得出可能存在这样的结论的?一个ToString
会不会给我一个更可行的假设?IOObject是一个接口,那么我假设它正在实现一些返回其“值”的方法。我认为我们正在实现,这将有所帮助。有没有一种方法可以在不循环的情况下访问IOObject的单个值?当然,您需要指定列表的索引。例如,如果要访问列表的第一个元素,则代码如下所示:list[0].Value.Info();