c# - Distinct() 是否保留始终取列表中的第一个元素

标签 c# linq

int[] nums = { 2, 3, 3, 4, 2, 1, 6, 7, 10 };
var distinct = nums.Distinct();

总是按此顺序返回 2、3、4、1、6、7、10

最佳答案

Enumerable.Distinct 的定义行为是它将返回一个无序集合 (Documentation)。

但是,Linq to Objects 中 Distinct 的当前实现将保留顺序。但是,对于其他 LINQ 提供程序并不能保证这一点,不应依赖该行为。

关于c# - Distinct() 是否保留始终取列表中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475472/

相关文章:

.net - 子 AppDomain 中的 LINQ

c# - 检查 IIS 应用程序池的状态

c# - 比较哈希密码

c# - Selenium C# DefaultWait IgnoreExceptionTypes 不起作用

c# - 将 DataTable(动态列)转换为 List<T>

.net - Linq2XML,为什么 Element()、Elements() 不工作?

c# - 10 年后重返 Windows 编程

c# - 将对象转换为对象的单项数组 (C#)

linq - 如何在Azure表Linq查询中使用包含?

c# - 在子查询上使用 DISTINCT 以删除 Entity Framework 中的重复项