C# dataset中的两个table间如何实现A表的条件不满足B表实现A表的某字段内容批量更改

2025-03-28 12:57:04
推荐回答(1个)
回答(1):

//方法一:
DataSet a = new DataSet();
            DataSet b = new DataSet();
            foreach (DataRow l_dr in a.Tables[0].Rows)
            {
                if (b.Tables[0].Select(" name = '" + l_dr["name"] + "' ").Length = 0)
                    l_dr["name"] = "否";
            }
            //方法二 当然如果是数据集用Linq 也可以 比较麻烦
            //方法三 用HashSet集合 这个性能比较高 用Select 数据量超过1000就会卡
            
              DataSet a = new DataSet();
            DataSet b = new DataSet();
            HashSet l_hash = new HashSet();
            foreach (DataRow l_dr in b.Tables[0].Rows)
            {
                l_hash.Add(l_dr["name"].ToString());
            }

            foreach (DataRow l_dr in a.Tables[0].Rows)
            {
                if (l_hash.Contains(l_dr["name"].ToString()))
                    continue;
                l_dr["name"] = "否";
            }