在C#中将列表数据添加到列表(LINQ?)

时间:2016-03-14 16:56:05

标签: c# linq

我做了一些搜索,但我无法弄清楚如何去做。

我在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; }
    }

所以我需要在与Sistema,Caja和Tienda匹配的ETRansaccion列表中插入EPinpads列表的Seriepinpad属性。

我想我可以使用LINQ来做到这一点,但在线的东西并没有多大帮助。

1 个答案:

答案 0 :(得分:-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);