Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 在字典中按类型分组数组_C#_Dictionary - Fatal编程技术网

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
方法,或者实现自定义比较器以获得预期行为。但不幸的是,
类型
类已经在这样做了。因此,这将如预期的那样起作用