首页 新闻 会员 周边

c# 请问KeyValuePair在这里定义了什么? item.Value 的值怎么来的?

0
悬赏园豆:5 [已解决问题] 解决于 2023-07-21 16:17

MachineCache machineCache=null;
foreach(KeyValuePair<int,MachineCache> item in ProocolExplain.dicMachineCache)
{
machineCache=item.Value;
}

请问KeyValuePair在这里定义了什么? item.Value 的值怎么来的?

问题补充:

KeyValuePair 在这里的意思是否把 item定义为 int类型与MachineCache类型,二合一?来装载ProocolExplain.dicMachineCache 里的值?

tea2007的主页 tea2007 | 初学一级 | 园豆:1
提问于:2023-07-18 14:55
< >
分享
最佳答案
0

KeyValuePair<int,MachineCache> 是存放单个键值对的结构体,和字典的区别就是只能存放一条数据。
foreach (var item in dic)
{
var value= item.Value;
}

        foreach (KeyValuePair<int, MM> item in dic)
        {
            var value = item.Value;
        }

上面代码得到的数据是一样的。

收获园豆:2
国产小品牌 | 初学一级 |园豆:199 | 2023-07-18 16:41
其他回答(3)
0

KeyValuePair是一个泛型类 item.Value是类里的属性

收获园豆:1
zuiaixiaoyadan | 园豆:203 (菜鸟二级) | 2023-07-18 16:36
0

首先

  1. ProocolExplain.dicMachineCache : Dictionary<int, MachineCache>(这个类型是键值对类型的,Java里的map集合,它里面的数据就是一条条KeyValuePair<int,MachineCache>类型的数据)
  2. foreach (var item in ProocolExplain.dicMachineCache) 是foreach遍历,在你的例子中
    item就是 ProocolExplain.dicMachineCache 中的一条数据
  3. 究竟能不能二合一,你的业务逻辑来确定
收获园豆:2
echo_lovely | 园豆:1437 (小虾三级) | 2023-07-18 16:40

item.Value 是 ProocolExplain.dicMachineCache 里面对应的某一条的value

支持(0) 反对(0) echo_lovely | 园豆:1437 (小虾三级) | 2023-07-18 16:42
0

machineCache=ProocolExplain.dicMachineCache[Machineid];

tea2007 | 园豆:1 (初学一级) | 2023-07-21 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册