如何在List<;int>;并移除其中一个

本文关键字:一个 List lt int gt | 更新日期: 2023-09-27 18:13:46

初学者;新手级别的问题。这是一个生成30个随机数的代码,按升序对它们进行排序,然后按降序对它们进行排列。最后一个目标是在列表中找到重复项并删除其中一个(例如,如果有两个27,我想删除一个并保留另一个(。

    static void Main(string[] args)
    {
        Random randomNum = new Random();
        List<int> numbers = new List<int>();
        for (int i = 0; i < 30; i += 1)
            numbers.Add(randomNum.Next(1, 100));
        Console.Write("List of random numbers:");
        foreach (var number in numbers)
            Console.Write(" {0} ", number);
        var sorted =
            from number in numbers
            orderby number
            select number;
        Console.WriteLine();
        Console.Write("List in ascending order:");
        foreach (var element in sorted)
            Console.Write(" {0} ", element);
        var sortdescending =
            from number in numbers
            orderby number descending
            select number;
        Console.WriteLine();
        Console.Write("List in descending order:");
        foreach (var element in sortdescending)
            Console.Write(" {0} ", element);

如何在List<;int>;并移除其中一个

int是内置类型的,那么您可以使用简单的:

numbers = numbers.Distinct();

但是如果您有类,则可以重写两个方法:EqualsGetHashCode

不要忘记使用

using System.Linq;

然后(正如康拉德所说(

var distinctNumbers = numbers.Distinct();
相关文章: