Aro*_*ran 1 c# linq vb.net asp.net visual-studio-2010
我有一个像这样的数据的集合.
--------------------------------------------
| key | customer Name | code | isActive |
--------------------------------------------
| 30002 | XYZ | 234 | 1 |
--------------------------------------------
| 30002 | XYZ | 234 | 1 |
--------------------------------------------
| 30002 | XYZ | 234 | 1 |
--------------------------------------------
| 30034 | ERR | 344 | 1 |
--------------------------------------------
| 30031 | LDD | 343 | 1 |
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)
如何使用linq选择不同的数据?
您可以像这样创建自己的比较器:
public class MyComparer : IEqualityComparer<DataRow>
{
public bool Equals(DataRow x, DataRow y) {
return x["col1"] == y.["col1"] && x["col2"] == y.["col2"];
}
public int GetHashCode(DataRow obj) {
return obj["col1"].GetHashCode() ^ obj["col2"].GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用:
var distinctRows = (from dr in table.AsEnumerable()
select dr).Distinct(new MyComparer());
Run Code Online (Sandbox Code Playgroud)
我认为代码可以优化,但总体思路是:)
归档时间: |
|
查看次数: |
6271 次 |
最近记录: |