-1

我有两个清单:

myObject object1 = new myObject(id = 1, title = "object1"};
myObject object2 = new myObject(id = 2, title = "object2"};
myObject object3 = new myObject(id = 3, title = "object3"};

//List 1
List<myObject> myObjectList = new List<myObject>{object1, object2, object3};

//List 2
List<int> idList = new List<int>{2, 3,5};

现在我需要得到如下输出:

  1. 如果两个列表中都存在 id,我需要打印“A”,
  2. 如果一个 id 只存在于list1,那么我需要打印“B”,
  3. ...如果 idlist2仅存在于,我需要打印“C”

我可以使用 linq 来实现这一点吗?

4

1 回答 1

2

我会简单地使用和的内置Except功能Intersect

  1. List1.Intersect(List2) = "A"
  2. List1.Except(List2) = "B"
  3. List2.Except(List1) = "C"

网上有很多关于如何进行此操作的资源,例如(我没有过多研究),请查看此链接 - Linq - 除了一个列表中包含另一个项目

希望这能解决问题...

于 2013-03-07T16:53:43.437 回答