c#如何取字典表的值_如何在C#中从此类字典中获取值

反复进行在C#中,IDictionary< TKey,TValue>实现IEnumerable< KeyValuePair< TKey,TValue>>.因此,您可以遍历类型为IDictionary< TKey,TValue>的实例.使用foreach或Linq查询,并获取数据结构中的每个KeyValuePair.由于在这种情况下TValue本身就是...
摘要由CSDN通过智能技术生成

反复进行

在C#中,IDictionary< TKey,TValue>实现IEnumerable< KeyValuePair< TKey,TValue>>.因此,您可以遍历类型为IDictionary< TKey,TValue>的实例.使用foreach或Linq查询,并获取数据结构中的每个KeyValuePair.由于在这种情况下TValue本身就是IDictionary,因此您也可以在内部结构上执行此操作:

foreach(var kvp in myDictionary)

{

foreach(var innerKvp in kvp.Value)

{

var myValue = innerKvp.Value

//Logic on myValue

}

}

使用Linq库,可以使用SelectMany非常优雅地获取所有KeyValuePair实例:

myDictionary.SelectMany(kvp => kvp.Value);

SelectMany本质上是使列表列表变平.这个Linq查询说:对于字典中的每个键值对,获取所有内部字典,将它们视为键值对列表,然后将所有这些列表展平.这将返回IEnumerable< KeyValuePair< TKey,TValue>>.

相反,如果您只关心内部字典的值而不关心键,则可以使用IDictionary< TKey,TValue>上的Values属性.返回IEnumerable< TValue>.字典中所有值的然后,我们可以使用SelectMany来获取包含字典词典中所有值的列表:

myDictionary.Values.SelectMany(dict => dict.Values);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值