假设我有 2 个数据表 DSALL 和 DSSome 用于存储学生信息
DSALL(存储所有学生信息)
SID (PK)
姓名
地址
电话
...
DSSome(仅存储某些特定学生的 SID)
SID(唯一)
现在我想要一个 C# 函数来检查 DSSome 中的所有 SID 是否都存在于 DSALL 中。如果 DSALL 中存在所有 SID,则该函数返回 true,否则返回 false。
传统的方式是
protected bool checkSID(DataTable DSALL, DataTable DSSome){
for (int i=0; i<DSSome.Rows.Count; i++){
bool isFound = false;
string SID = DSSome.Rows[i]["SID"].ToString();
for (int j=0; j<DSALL.Rows.Count; j++){
string _SID = DSALL.Rows[j]["SID"].ToString();
if (SID == _SID) { isFound = true; break; }
}
if (!isFound) return false;
}
return true;
}
有没有其他更简单的有效方法来解决这个问题?