【发布时间】:2013-05-15 12:32:31
【问题描述】:
我有一个List,它被定义为:
List<Dictionary<string,object>>()
这个List 填充在foreach loop 中,基本上包含来自ProperyInfo 的property names and values。
在另一个foreach loop 中,我想再次遍历属性并检查是否存在包含与我正在查找的值对应的键的字典。例如:
foreach(var item in controls)
{
if(item !=null && list.Contains(...)) //What do I put in here
{
}
else
{
}
}
controls 是List<Control>,其中Control 是具有一个属性Name 的类。 item 指的是一个Control。
我想过做list.Contains(item.Name),但这显然行不通。
【问题讨论】:
-
那么您想知道给定键是否在列表中的任何字典中吗?或者您是否有另一个
Dictionary并且需要知道它是否具有与列表中的字典完全相同的键值对集,或者什么?甚至不显示item的类型,这使得提供帮助变得更加困难。 -
您可以使用
Dictionary<string, Dictionary<string,object>>而不是List。 -
@AndreCalil 或者只是一个
Dictionary<string, object>,其中包含大量对象...毕竟,它的 设计 可以扩展到非常大的尺寸。 -
我认为你需要
Dictionary<Type,Dictionary<string,object>>而不是List<Dictionary<string,object>> -
@Xaisoft 请编辑 that 到问题中。
标签: c# linq list dictionary .net-3.5