2016-03-14 91 views
-2

我做了一些搜索,但我无法弄清楚如何做到这一点。将列表数据添加到列表(LINQ?)在C#

我在C#中有两个列表。

public class ETransaccion 
    { 
     public int Sistema { get; set; } 
     public int Caja { get; set; } 
     public int Tienda { get; set; } 
     public int Lapos { get; set; } 
     public int Visadebito { get; set; } 
     public int Amex { get; set; } 
     public int Visa { get; set; } 
     public int Credencial { get; set; } 
     public int Nvisa { get; set; } 
     public int Maestro { get; set; } 
     public int Cabal { get; set; } 
     public int Tshop { get; set; } 
     public int Credial { get; set; } 
     public int Master { get; set; } 
     public int Italcred { get; set; } 
     public int Tshopvisa { get; set; } 
     public int Diners { get; set; } 
     public int Naranja { get; set; } 
     public int Seriepinpad { get; set; } 
    } 

public class EPinpads 
    { 
     public int Tienda { get; set; } 
     public int Sistema { get; set; } 
     public int Caja { get; set; } 
     public int Seriepinpad { get; set; } 
    } 

所以我需要插入的EPinpads列表Seriepinpad属性匹配Sistema的,卡哈和蒂达的ETRansaccion列表。

我想我可以使用LINQ来做这件事,但网上的东西没有多大帮助。

+0

'ETransaccion.Seriepinpad = ETransaccion.Sistema'?不能真的让你的问题!? – C4u

+0

所以要清楚,你有一个ETransaccion列表和一个EPinpads列表。你想创建一个第三个列表,其中包含来自ETransaccion的所有信息的记录,并添加Seriepinpad信息以及Tienda,Sistema和Caja数据匹配的位置? – sr28

回答

-1
var list1 = new List<ETransaccion>(); 
var list2 = new List<EPinpads>(); 

list1.ForEach(
    (x) => 
     x.Seriepinpad = 
      list2.Any(y => y.Sistema == x.Sistema && y.Tienda == x.Tienda && y.Caja == x.Caja) 
       ? list2.First(y => y.Sistema == x.Sistema && y.Tienda == x.Tienda && y.Caja == x.Caja) 
        .Seriepinpad 
       : x.Seriepinpad); 
+0

谢谢詹姆斯!这有很大的帮助! :D –

+0

而不是所有的条件运算符(?:)部分使用x.Seriepinpad = list2.FirstOrDefault(y => y.Sistema == x.Sistema && y.Tienda == x.Tienda && y.Caja == x .Caja)?Seriepinpad –

+0

为什么? –