C# 4.0 从c#中的datatable列中查找不同的值,并将不同的值存储在变量中
我想从c#中的datatable列中找到不同的值,还想将所有这些不同的值存储在变量中C# 4.0 从c#中的datatable列中查找不同的值,并将不同的值存储在变量中,c#-4.0,C# 4.0,我想从c#中的datatable列中找到不同的值,还想将所有这些不同的值存储在变量中 DataTable dtable = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter("SELECT * from clubbb ", con); da.Fill(dtable, "clubbb"); int toto = bdtable.AsEnumerable().Distinct
DataTable dtable = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * from clubbb ", con);
da.Fill(dtable, "clubbb");
int toto = bdtable.AsEnumerable().Distinct().Count();
您需要实现接口
IEqualityComparer
方法,以提供Distinct
方法用于了解两行是否重复的方法。这可以通过以下类实现:
public class CustomComparer : IEqualityComparer<DataRow>
{
public bool Equals(DataRow x, DataRow y)
{
// your custom equality logic here
}
public int GetHashCode(DataRow obj)
{
// return hash code depending on your distinct criteria
}
}
我有类似的问题,在我的例子中,我需要知道特定列的不同值,因此我将此列的名称传递给我实现的自定义比较器,以便GetHashCode
将为重复值返回相同的哈希代码
您可以在此处阅读更多内容:
希望这有帮助:)尝试使用查询:从clubbb中选择不同的列
int toto = bdtable.AsEnumerable().Distinct(new CustomComparer()).Count();