📅  最后修改于: 2023-12-03 14:59:40.258000             🧑  作者: Mango
在 C# 编程中,使用 LINQ 可以大大简化代码,特别是在处理集合数据时。在某些情况下,我们可能只需要从一个列表中选择其唯一值,这时使用 LINQ 可以轻松完成此任务。
首先,在 C# 中,我们通常使用 List
List<int> numbers = new List<int>() { 1, 2, 3, 4, 5, 4, 3, 2 };
var uniqueNumbers = numbers.Distinct();
这段代码创建了一个包含整数的列表,并使用 LINQ 的 Distinct() 方法选择该列表中的唯一值。Distinct() 方法将返回一个 IEnumerable
在某些情况下,我们可能需要指定一个比较器来确定两个值是否相等。我们可以使用 Distinct() 方法的重载版本,该版本允许我们传递一个实现了 IEqualityComparer
List<string> names = new List<string>() { "Tom", "Jerry", "tom", "Tim", "jerry" };
var uniqueNames = names.Distinct(StringComparer.OrdinalIgnoreCase);
在这个示例中,我们创建了一个字符串列表,并使用 Distinct() 方法选择该列表中的唯一值。我们还传递了一个比较器对象,该对象使用 OrdinalIgnoreCase 比较规则来确定两个字符串值是否相等。
使用 LINQ 的 Distinct() 方法可以轻松选择列表中唯一的值,不需要编写复杂的代码。我们还可以指定一个比较器来确定唯一值的条件。这使得 C# 编程更加简单和优雅。