vb.net LINQ选择与列表不同

use*_*636 1 .net c# linq vb.net datatable

我有一个datatable列有一些重复的值,我想将这些值添加到一个listbox但没有重复

我尝试了以下内容

Dim a = From row In table.AsEnumerable.Distinct.ToList Select row.Field(Of String)("name")
Run Code Online (Sandbox Code Playgroud)

但它给了我重复的值,如何在没有重复的情况下完成?

Kun*_*han 8

我相信还有一些列在每一行中都是唯一的,这就是为什么distinct不会按预期返回结果的原因.相反,您应该首先选择列而不是将distinct应用于它.

所以试试这个:

Dim a = (From row In table.AsEnumerable()
        Select row.Field(Of String)("name")).Distinct().ToList()
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助!!