我有两个数据集来比较和排除相同的记录 这是我的代码,可以正常运行
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
{
bool found = false;
foreach (DataRow dr2 in ds1.Tables[0].Rows)
{
string table2 = dr2["code"].ToString();
string deletedVchr = dr2["type"].ToString();
if (i.ToString() == table2.ToString() && deletedVchr == "0")
{
found = true;
}
}
if (!found )
dsnew.Tables[0].Rows.Add(i);
}
如果表1的列(类型)具有星号(*),我只想在数据集中添加星号(*) 值1
这是我的桌子
Table 1
code type
1 0
2 1
Table 2
code
0
1
2
3
4
5
6
7
8
9
10
Expected Record Table
code
0
2*
3
4
5
6
7
8
9
10
答案 0 :(得分:1)
我认为应该这样做:
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
{
bool found = false;
bool asterisk = false;
foreach (DataRow dr2 in ds1.Tables[0].Rows)
{
string table2 = dr2["code"].ToString();
string deletedVchr = dr2["type"].ToString();
if (i.ToString() == table2.ToString() && deletedVchr == "0")
{
found = true;
}
else if (i.ToString() == table2.ToString() && deletedVchr == "1")
{
asterisk = true;
}
}
if (!found && !asterisk)
dsnew.Tables[0].Rows.Add(i);
if(asterisk)
dsnew.Tables[0].Rows.Add(i+"*");
}