MachineCache machineCache=null;
foreach(KeyValuePair<int,MachineCache> item in ProocolExplain.dicMachineCache)
{
machineCache=item.Value;
}
请问KeyValuePair在这里定义了什么? item.Value 的值怎么来的?
KeyValuePair 在这里的意思是否把 item定义为 int类型与MachineCache类型,二合一?来装载ProocolExplain.dicMachineCache 里的值?
KeyValuePair<int,MachineCache> 是存放单个键值对的结构体,和字典的区别就是只能存放一条数据。
foreach (var item in dic)
{
var value= item.Value;
}
foreach (KeyValuePair<int, MM> item in dic)
{
var value = item.Value;
}
上面代码得到的数据是一样的。
KeyValuePair是一个泛型类 item.Value是类里的属性
首先
ProocolExplain.dicMachineCache : Dictionary<int, MachineCache>(这个类型是键值对类型的,Java里的map集合,它里面的数据就是一条条KeyValuePair<int,MachineCache>类型的数据)
item.Value 是 ProocolExplain.dicMachineCache 里面对应的某一条的value
machineCache=ProocolExplain.dicMachineCache[Machineid];