如何从数组或集合中获取更改

STO*_*ORM 0 c# arrays collections

我有一些值(我可以将它们放在数组或集合中)

original = "1", "2", "3", "4", "5, "6", "7", "8", "9"
Run Code Online (Sandbox Code Playgroud)

用户可以对此项进行更改.用户可以删除一些或添加新的:

modified = "2", "3", "4", "6", "10", "11"
Run Code Online (Sandbox Code Playgroud)

用户在该样本中添加了"10"和"11"并删除了"1","5","7","8"和"9".

如何从我的阵列或集合中获取这些更改.我需要一个已删除项目的结果集,其中包含"1","5","8","9"以及另一项添加的项目"10"和"11".我怎样才能得到这些变化?

p.s*_*w.g 5

您可以使用Except扩展方法:

var added = modified.Except(original);    // "10", "11"
var removed = original.Except(modified);  // "1", "5", "7", "8", "9" 
Run Code Online (Sandbox Code Playgroud)

但是ObservableCollection<T>,如果您需要在修改发生时做出反应,您可能需要考虑使用.