C# 在字典中查找奇偶值的数目

C# 在字典中查找奇偶值的数目,c#,dictionary,C#,Dictionary,我有一本字典,让它的键值对如下: a - 1 b - 3 c - 2 我想找出奇数和偶数值字符的数目。例如,上面的结果将返回2个奇数和1个偶数 我想迭代,但我读到如果我们使用字典,迭代是错误的方式。最佳方法是什么?请参阅此链接,需要内部或外部迭代 代码应该如下所示。它首先确定偶数的数量,然后奇数的数量将是总元素数减去事件数 int evenCounter=0; foreach(var item in myDictionary.Values) { if(item %

我有一本字典,让它的键值对如下:

a - 1
b - 3
c - 2
我想找出奇数和偶数值字符的数目。例如,上面的结果将返回2个奇数和1个偶数

我想迭代,但我读到如果我们使用字典,迭代是错误的方式。最佳方法是什么?

请参阅此链接,需要内部或外部迭代

代码应该如下所示。它首先确定偶数的数量,然后奇数的数量将是总元素数减去事件数

 int evenCounter=0; 
   foreach(var item in myDictionary.Values)
    {
      if(item %2 ==0)
       evenCounter++;
    }

    int oddCounter = myDictionary.Count -evenCounter;
请参阅此链接,需要在内部或外部进行迭代

代码应该如下所示。它首先确定偶数的数量,然后奇数的数量将是总元素数减去事件数

 int evenCounter=0; 
   foreach(var item in myDictionary.Values)
    {
      if(item %2 ==0)
       evenCounter++;
    }

    int oddCounter = myDictionary.Count -evenCounter;
使用LINQ:

var numOdd = myDic.Count(e => e.Value % 2 == 1);
使用LINQ:

var numOdd = myDic.Count(e => e.Value % 2 == 1);

你在哪里读到“如果我们使用字典,迭代是错误的方法”?如果对字典进行迭代是不好的,那么在编写此问题之前,它可能不会实现IEnumerable/Enumerator.one stackover flow注释。抱歉,没有链接,因为这些值是整数而不是字符。字典中的值没有索引。您在哪里读到“如果使用字典,迭代是错误的方法”?如果对字典进行迭代是不好的,那么在编写此问题之前,它可能不会实现IEnumerable/Enumerator.one stackover flow注释。抱歉,没有链接,因为这些值是整数而不是字符。字典中的值没有索引。好吧,我也这么做了,但是有人告诉你在迭代时不应该使用字典。哦,好吧,这正是OP说他们想做的,但他们询问的是另一种方法。我们不需要识别赔率的键,所以你可以简单地使用数组来存储,只要在数组上迭代,如果你喜欢的话。好的,我也这么做了,但是有人告诉我在迭代时不应该使用字典。哦,好吧。这正是OP所说的他们想做的,但他们询问的是一种不同的方法。我们不需要识别赔率数字的键,所以你可以简单地使用数组来存储,只要在数组上迭代,如果你喜欢的话。@John,它仍然在字典上迭代(当然,我认为不可能避免反复阅读字典,做你想做的事)@John尽管如此,它仍在反复阅读字典(当然,我认为不可能避免反复阅读字典,做你想做的事)