如果是两个List<T>我就知道,A集合和B集合,只要做A∪B-A,就能够得出B集合对于A集合来说哪些元素变化了。
A={[1,a],[4,c],[2,d]}
B={[2,c],[4,c],[1,f]}A∪B={[1,a],[4,c],[2,d],[2,c],[1,f]}
A∪B-A={[2,c],[1,f]}
但是两个Dictionary<int,string>类型的A集合和B集合,由于int是Key,是不允许重复的吧?
如果要探究B集合对于A集合,哪些元素变化了,该如何操作呢?
A={[1,a],[4,c],[2,d]}
B={[2,c],[4,c],[1,f]}A∪B={[1,a],[4,c],[2,d],[2,c],[1,f]}
A∪B-A={[2,c],[1,f]}
但是两个Dictionary<int,string>类型的A集合和B集合,由于int是Key,是不允许重复的吧?
如果要探究B集合对于A集合,哪些元素变化了,该如何操作呢?
你可以试试DataTable
可以直接判断交集差集这些。
B={[2,c],[4,c],[1,f]}
foreach(var aa in B)
{
if(!A.contains(aa))
writeline(aa.tostring());
}
{1,"1"},
{2,"2"},
{3,"3"}
};
Dictionary<int, string> _B = new Dictionary<int, string>() {
{1,"6"},
{2,"2"},
{3,"3"}
};
var s=_B.Except(_A);