Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何遍历字典中特定范围的KeyValuePairs?_C#_Loops_For Loop_Foreach_Iterator - Fatal编程技术网

C# 如何遍历字典中特定范围的KeyValuePairs?

C# 如何遍历字典中特定范围的KeyValuePairs?,c#,loops,for-loop,foreach,iterator,C#,Loops,For Loop,Foreach,Iterator,我有一本字典,里面有4个KeyValuePair项。现在我有两个foreach循环(循环1和循环2),我要实现的是: 循环1: 使用此foreachloop循环前2项 循环2: 使用此foreachloop循环项目3-4 我不确定这是否可行,因此我尝试了以下方法: @for (int DictItem = 0; i < finalDictionary.Count; DictItem++) { var test = finalDictionary[i]; if(test == 1

我有一本字典,里面有4个KeyValuePair项。现在我有两个foreach循环(循环1和循环2),我要实现的是:

循环1:

使用此foreachloop循环前2项

循环2:

使用此foreachloop循环项目3-4

我不确定这是否可行,因此我尝试了以下方法:

@for (int DictItem = 0; i < finalDictionary.Count; DictItem++)
{
   var test = finalDictionary[i];
   if(test == 1 || test == 2)
   { 
          //First 2 items
   }

  if(test == 3 || test == 4)
  { 
          //3th and 4th items
  }
}
(int DictItem=0;i 在这里,我试图通过for循环的索引获得KeyValuePair,但是这不起作用

提前感谢.NET中的词典(即
IDictionary
的实现)没有任何定义的键/值对顺序

但是,如果您的密钥是可排序的(并且它们实现了
i可比较的
),则可以执行以下操作:

Dictionary<TKey,TValue> dict = ...
List<TKey> sortedKeys = dict.Keys.OrderBy( k => k ).ToList();

foreach( TKey key in sortedKeys.Take(2) ) {
    TValue value = dict[key];

    Console.WriteLine( value );
}

foreach( TKey key in sortedKeys.Skip(2).Take(2) ) {
    TValue value = dict[key];

    Console.WriteLine( value );
}
Dictionary dict=。。。
List sortedKeys=dict.Keys.OrderBy(k=>k.ToList();
foreach(将钥匙输入分拣机。取(2)){
t值=dict[键];
控制台写入线(值);
}
foreach(t键入分拣机。跳过(2)。取(2)){
t值=dict[键];
控制台写入线(值);
}

顺便说一句,字典是没有顺序的——因此存在“范围”键的想法是错误的。当然,您可以缓冲所有键,然后对它们进行排序,然后遍历其中的一个范围。您的
finalDictionary
的类型是什么?它看起来像是字典,对吗?它代表什么?它是一个嵌套字典:@foreach(finalDictionary中的KeyValuePair条目)