对Linq查询DataTable实施'Distinct'感到困惑

Chr*_*s B 1 c# .net-4.0

我正在尝试使用LINQ从DataTable返回一组不同的值.

这是我没有"Distinct"部分的代码,因为我正在努力制定正确的linq语句:

 DataTable gridData = RgClientData.DataSource as DataTable;
   var results = from myRow in gridData .AsEnumerable()
             select (myRow.Field<string>("AssignedUser"));
Run Code Online (Sandbox Code Playgroud)

只是在选择的末尾添加"Distinct()"不起作用.我正在努力学习语法,因为我不完全理解"Distinct"部分与Linq查询的关系.

有人能指出我正确的方向......谢谢

Ahm*_*eed 6

您的查询需要括在括号内,以便添加Distinct到它的末尾:

var results = (from myRow in gridData .AsEnumerable()
              select myRow.Field<string>("AssignedUser")).Distinct();
Run Code Online (Sandbox Code Playgroud)

或者你可以切换到流利的语法:

var results = gridData.AsEnumerable()
                      .Select(myRow => myRow.Field<string>("AssignedUser"))
                      .Distinct();
Run Code Online (Sandbox Code Playgroud)