我正在使用C#进行此操作。我有3个列表,它们将从不同的数据库填充。我想将这3个列表与我的委托人列表进行比较,如果我的委托人列表中的项目不在这3个列表之一中,我想将其从委托人中删除。
示例:
var list1 = (from a in db.candyStore
select brand)
var list2 = (from b in db.AnotherCandyStore
select brand)
var list3 = (from c in db.supermarket
select brand)
var princiapalList = (from a in db.candyStore
select brand)
有什么想法吗?
谢谢!
答案 0 :(得分:0)
您可以使用HashSet<T>
的{{3}}方法:
var list1 = (from a in db.candyStore
select brand);
var list2 = (from b in db.AnotherCandyStore
select brand);
var list3 = (from c in db.supermarket
select brand);
var princiapalList = (from a in db.candyStore
select brand)
var princiapalSet = new HAshSet<T>(princiapalList);
princiapalSet.ExceptWith(list1.Concat(list2).Concat(list2));
princiapalSet
现在仅包含不在列表中的元素。
答案 1 :(得分:0)
您要测试列表联合中的成员身份。
generate newvar=0
forvalues i=1/25 {
replace newvar=1 if PR`i'=="8512" | PR`i'=="8521"
}
例如。
答案 2 :(得分:0)
好吧,我知道了,现在我无法加入可查询类型的列表,所以它是这样的:
var list1 = (from a in db.candyStore
select brand);
var list2 = (from b in db.AnotherCandyStore
select brand);
var list3 = (from c in db.supermarket
select brand);
var princiapalList = (from cs in list1
join acs in list2 on cs.BrandID equals acs.BrandID
join sm in list3 on sm.BrandID equals sm.BrandID
where cs.BrandID == acs.BrandID && cs.BrandID == sm.BrandID
select new { whatever }).toList();
感谢帮助人员!我希望这对其他人也有帮助。