在字典中按类型对数组进行分组

本文关键字:数组 字典 类型 | 更新日期: 2023-09-27 18:34:44

假设我有这个对象数组:

        var input = new object[]
        { 
            "Hello",
            123,                
            true,
            "Hats",
            12,34,
            '!'
        };
然后

我想按类型分组,然后返回一个字典,其中类型作为键,每种类型的出现次数作为值。我将如何做到这一点?我现在把数组放进了字典里,但从这里开始,我有点不知道如何处理它。

在字典中按类型对数组进行分组

只需按Type分组,并使用ToDictionary方法:

input.GroupBy(x => x.GetType()).ToDictionary(x => x.Key, x => x.Count());

通常,当您使用GroupBy基于引用类型进行分组时,您需要重写EqualsGetHashCode类型的方法,或者实现自定义比较器来获取预期的行为。但幸运的是,Type班已经在这样做了。因此,这将按预期工作。