日期:2014-05-20  浏览次数:20700 次

求一条Linq
C# code
public class A
{
    public int tick;
    public double value;
}

List<A> dat1;
List<A> dat2;

dat1.Add(new A(){tick=1,value=2));
dat1.Add(new A(){tick=2,value=5));
dat2.Add(new A(){tick=2,value=4));
dat2.Add(new A(){tick=3,value=8));

希望用linq,将dat1中,tick和dat2中同样的对象,修改value为dat2对应对象的value.



------解决方案--------------------
dat1.FindAll(item1 => dat2.Exists(item2 => item2.tick == item1.tick)).
ForEach(item1 => item1.value = dat2.First(item2 => item2.tick == item1.tick).value);