linq ForEach方法怎么使用?
我看了一下参数是一个Action.但是不知道怎么理解。
比如我有这样一个场景想使用ForEach方法。
List<model1> list1=new List<model1>();
model1 testModel1=new model1();
model1.id=1;
model1.name="test";
list1.add(testModel1);
model1 testModel2=new model1();
testModel2.id=2;
testModel2.name="test1";
list1.add(testModel2);
model1 testModel3=new model1();
testModel3.id=1;
testModel3.name="test2";
list1.add(testModel3);
List<model1> list2=new List<model1>();
model1 testModel1=new model1();
model1.id=1;
model1.name="test";
list2.add(testModel1);
现在我得到list3=list1-list2,就是排除list2中的记录在list1中的记录。我的思路是想使用ForEach来遍历list1中的记录的id,然后和list2中记录的id比较。最终得到list3.
------解决方案--------------------
C# code
List<int> list1 = new List<int>();
list1.AddRange(new int[] { 4, 5, 6, 7, 3, 8 });
List<int> list2 = new List<int>();
list2.AddRange(new int[] { 14,15, 16, 17, 13, 18 });
List<int> list3 = new List<int>();
var vs = list1.Select((i, index) => new { num = i - list2[index] });
foreach (var v in vs)
list3.Add(v.num);