对不起英语不好...
数据表示例
| ID_UEH | ID_F |
|......1......|...10...|
|......1......|...11...|
|......2......|...10...|
|......2......|...12...|
|......3......|...10...|
|......3......|...13...|
我想创建一个函数来检查是否存在符合以下规范的行:
-“ID_UEH”列中的值不同,但“ID_F”列中的值相同
我试过这个:
(from rowA in DataTableA.Select()
join rowB in DataTableA.Select()
on rowA["ID_F"] equals rowB["ID_F"]
where rowA["ID_UEH"] != rowB["ID_UEH"]).Count()
并且代码返回 0
然后我试试这个:
(from rowA in DataTableA.Select()
join rowB in DataTableA.Select()
on rowA["ID_F"] equals rowB["ID_F"]
where rowA["ID_UEH"] != rowB["ID_UEH"] &&
rowA["ID_F"] == rowB["ID_F"]).Count()
并且代码返回 6 (DataTableA.Rows.Count = 6)
然后他们让我快点,我这样做了:
int numRows = 0;
foreach (DataRow rowA in DataTableA.Select())
{
numRows = tabela.Select(
"ID_UEH <> "+Convert.ToInt32(rowA["ID_UEH"]) + " AND " +
"ID_F= " + Convert.ToInt32(rowA["ID_F"])
).Length;
if (numRows > 1)
break;
}
和代码返回我想要的。
我的问题是,我做错了什么?