1

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

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

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

仅在选择末尾添加“Distinct()”是行不通的。我正在与语法搏斗,因为我不完全理解“不同”部分与 Linq 查询的关系。

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

4

3 回答 3

6

您的查询需要用括号括起来才能添加Distinct到它的末尾:

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

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

var results = gridData.AsEnumerable()
                      .Select(myRow => myRow.Field<string>("AssignedUser"))
                      .Distinct();
于 2012-06-08T13:29:41.937 回答
0

试试这个:

 var results = (from myRow in gridData .AsEnumerable()
             select (myRow.Field<string>("AssignedUser")).Distinct();
于 2012-06-08T13:31:10.720 回答
0
string[] distinctcolumn = (from b in datatable1.AsEnumerable()
                           select b.Field<string>"colimnname")).Distinct().ToArray();

columnname 是您想要其不同值的列的名称

你得到字符串数组 distinctcolumn 你可以根据需要使用它。

于 2013-10-18T05:29:35.107 回答