首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#:需要从List <>返回重复项

在C#中,要从List<>中返回重复项,可以使用LINQ查询。以下是一个示例,说明如何从List<>中返回重复项:

代码语言:csharp
复制
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 2, 3, 6, 7, 8, 9, 10, 1 };

        var duplicates = GetDuplicates(numbers);

        foreach (var duplicate in duplicates)
        {
            Console.WriteLine(duplicate);
        }
    }

    static List<T> GetDuplicates<T>(List<T> list)
    {
        return list.GroupBy(x => x)
                   .Where(group => group.Count() > 1)
                   .Select(group => group.Key)
                   .ToList();
    }
}

在这个示例中,我们创建了一个名为numbers的List<>,其中包含一些重复的整数。我们使用GetDuplicates()方法从List<>中返回重复项。GetDuplicates()方法使用LINQ查询对List<>进行分组,然后筛选出计数大于1的组,最后返回这些组的键作为重复项。

在这个示例中,输出将是:

代码语言:txt
复制
1
2
3

这些是List<>中的重复项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#迭代器与LINQ查询操作符

(1)使用 针对集合类型编写foreach代码块,都是在使用迭代器 集合类型实现了IEnumerable接口 都有一个GetEnumerator方法 (2)迭代器优点 假如要遍历一个庞大的集合,只要其中一个元素满足条件,据完成了任务。 (3)yield关键字 MSDN中: 在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。 (4)注意事项: 1.在foreach循环式多考虑线程安全性,在foreach时不要试图对便利的集合进行remove和add操作,任何集合,即使被标记为线程安全,在foreach时,增加项和移除项都会导致异常。 2.IEnumerable接口是LINQ特性的核心接口 只有实现了IEnumerable接口的集合,才能执行相关的LINQ操作,比如select,where等

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券