本文将讨论在C#编程语言中删除列表中重复项的不同方法。这些方法对于在列表中添加和存储数据时检测和消除冗余非常有用。本文还将讨论不同的C#库的使用,如LINQ和collection.generic。消除重复的最有效方法是Distinct()和ToList()方法,它可以一次性消除所有的重复,并创建一个具有唯一元素的列表。这个方法存在于C#编程语言的LINQ库中。
Distinct()方法
我们使用Distinct()方法来区分项目或变量。LINQ库提供了Distinct方法,这个功能在C#编程语言中用来比较项目或变量,因为它是一个基于查询的库。这个方法只从一个数据源中删除重复的项目,并将唯一的项目返回到一个新的数据源中,该数据源将是一个列表。在我们的案例中,我们将对List类使用这个方法,所以我们也将在ToList()方法中加入Distinct()方法,这样当识别出独特的项目时,它们就可以被添加到一个新的列表中。
下面是用C#编程语言编写这个方法的语法。
# “list name = list.Distinct().ToList();”
可以看出,这个方法是在创建一个新的列表时使用的,因为它从一个现有的列表中返回元素,以创建一个唯一的列表。当使用该方法初始化一个列表时,我们必须在调用该方法之前使用旧的列表,以便继承旧列表中以前的项目。
现在我们知道了这个语法,我们将在C#编程语言中用不同的数据类型的项目实现一些例子并测试这个方法。
例子01: 在Ubuntu 20.04中****使用 the Distinct().ToList()方法从列表中删除数字
在这个例子中,我们将使用Distinct().ToList()方法从C锐编程语言的整数列表中删除数字。我们将首先调用LINQ库,该库有Distinct().ToList()方法,这样就可以在程序中进一步使用。我们将在distinct方法的帮助下转换一个有重复条目的列表,并制作一个有唯一值的新列表。这个方法将在Ubuntu 20.04环境下进行。

在之前的C#程序中,我们创建了一个整数数据类型的列表,然后使用系统的Add()函数向其中添加一些项目。我们将制作一个新的列表,并使用 "Distinct().ToList() "函数向其施加数值,这将消除所有的重复项。在输出屏幕上,带有唯一对象的列表将被打印出来。
编译和执行上述程序后,我们将得到以下输出,如下面这个片段所示。

在上面的输出中,我们可以看到,所有被打印出来的列表条目都是唯一的,没有重复的项目,我们已经成功地从列表中删除了重复的项目。
例02:在Ubuntu 20.04中使用Distinct().ToList()方法从列表中删除字母数字字符串
在本例中,我们将使用 "Distinct().ToList() "方法从一个字符串数据类型的列表中删除重复的内容,但是列表中的成员将是字母数字字符,以观察 "Distinct().ToList() "方法的适应情况。我们将使用系统中的add函数来重复初始化一个list.Library的集合的过程。函数 "Distinct().ToList() "创建了一个具有唯一条目的新列表。由于它的独特性,这个新的列表就会被利用来做为未来的优先选择。

在前面的C#代码中,我们创建了一个字符串数据类型的列表,然后使用 "system.collection "包中的Add()函数向其中添加一些字母数字值。我们将制作一个新的列表,并用 "Distinct().ToList() "方法将值应用到其中,这将消除所有的重复值。在输出屏幕上,带有唯一对象的列表将被打印出来。
编译并运行给定的C#代码后,我们将得到以下结果,如下图所示。

我们可以看到,打印出来的列表中的所有条目都是唯一的,没有重复的,这说明Distinct函数有效地消除了列表中的重复内容。
在这之后,我们将研究一些不同的方法,在C#编程语言中去除列表中的重复项。
在Ubuntu 20.04中使用哈希集类来删除重复的内容
在这个方法中,我们将使用哈希集类二从列表中删除重复的内容,使用该类的一个对象并将其添加到一个新的列表中。哈希集是一个只包含 "System.Collections.Generic "命名空间中唯一项目的数据集。我们将使用哈希集类并创建一个新的列表,由于哈希集的唯一属性,其中不会有重复的项目。

在上面的C#程序中,我们已经初始化了一个整数数据类型的列表,并给它分配了一些数字值。然后我们创建了一个哈希集类的对象,然后我们将其用于新列表的赋值,这样当使用显示列表函数打印时,它将有不同的值。
编译和执行这个程序后的输出结果如下所示。

我们可以在输出中看到,我们用Hash set对象创建的新列表没有重复的内容,因为add shared对象成功地删除了旧列表中所有重复的元素。
在Ubuntu 20.04中使用IF检查来删除重复的内容
在这个方法中,我们将使用传统的if检查来验证列表中是否有重复的内容。if检查将只添加列表中唯一的项目,并创建一个没有重复的完全不同的列表。我们将使用foreach循环来遍历列表以检查是否有重复的内容,而不是用它来打印具有唯一元素的新列表。

在上面的C#程序中,我们已经初始化了一个字符串数据类型的列表,并给它分配了一些文本值,其中有几个重复的项目。然后我们开始了一个for each循环,在这个循环中我们嵌套了一个if检查,我们将所有的唯一项目添加到一个新的列表中,在开始for each循环之前我们已经初始化了这个列表。在这之后,我们开始了另一个for each循环,在其中我们打印了新列表中的所有元素。这个C#程序的结果将在输出屏幕上显示如下。

正如我们在输出屏幕上看到的,与旧列表相比,新列表中的所有元素都是唯一的,而旧列表中有几个重复的元素。if检查消除了旧列表中所有重复的元素,并将它们添加到我们在输出屏幕上看到的新列表中。
总结
在这篇文章中,我们讨论了从C#编程语言的列表数据类型中删除重复项的几种不同方法。在这些方法中也使用了C#语言的不同库,因为它们提供了不同的功能和方法来实现这个概念。对Distinct方法进行了详细的讨论,因为它是C#编程语言中从列表中去除重复项的一个非常有效和精确的方法。为了消除列表中的重复内容,我们利用了哈希集类和标准的IF检查。所有这些方法都是在Ubuntu 20.04环境下实现的,以便更好地理解不同的方法。