我正在尝试使用LINQ从DataTable返回一组不同的值。
这是我没有“Distinct”部分的代码,因为我正在努力制定正确的linq语句:
DataTable gridData = RgClientData.DataSource as DataTable;
var results = from myRow in gridData .AsEnumerable()
select (myRow.Field<string>("AssignedUser"));
只是在选择的末尾添加“Distinct()”不起作用。我正在努力学习语法,因为我不完全理解“Distinct”部分与Linq查询的关系。
有人能指出我正确的方向......谢谢
答案 0 :(得分: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();
答案 1 :(得分:0)
试试这个:
var results = (from myRow in gridData .AsEnumerable()
select (myRow.Field<string>("AssignedUser")).Distinct();
答案 2 :(得分:0)
string[] distinctcolumn = (from b in datatable1.AsEnumerable()
select b.Field<string>"colimnname")).Distinct().ToArray();
columnname是您想要的不同值的列的名称
你得到字符串数组distinctcolumn,你可以根据需要使用它。