C# 在字典中按类型分组数组
假设我有这个对象数组:C# 在字典中按类型分组数组,c#,dictionary,C#,Dictionary,假设我有这个对象数组: var input = new object[] { "Hello", 123, true, "Hats", 12,34, '!' }; 然后我想按类型分组,然后返回一个字典,其中类型作为键,每个类型的出现次数作为值。我该怎么做呢?我现在已经将数组
var input = new object[]
{
"Hello",
123,
true,
"Hats",
12,34,
'!'
};
然后我想按类型分组,然后返回一个字典,其中类型作为键,每个类型的出现次数作为值。我该怎么做呢?我现在已经将数组放入了字典中,但从这里开始,我有点纠结于如何处理它。只需按
类型进行分组,然后使用进行编辑方法:
input.GroupBy(x => x.GetType()).ToDictionary(x => x.Key, x => x.Count());
通常,当您使用GroupBy
基于引用类型进行分组时,您需要覆盖类型上的Equals
和GetHashCode
方法,或者实现自定义比较器以获得预期行为。但不幸的是,类型
类已经在这样做了。因此,这将按预期工作。只需按类型进行分组,并使用进行编辑方法:
input.GroupBy(x => x.GetType()).ToDictionary(x => x.Key, x => x.Count());
通常,当您使用GroupBy
基于引用类型进行分组时,您需要覆盖类型上的Equals
和GetHashCode
方法,或者实现自定义比较器以获得预期行为。但不幸的是,类型
类已经在这样做了。因此,这将如预期的那样起作用