列表的前两个元素<int> 0

时间:2017-06-10 15:46:06

标签: c# linq

我有一个包含多个值的List,例如:

var myList = new List<int> { 1, 2, 3 };

我想要一个新的列表 列表{0,0,3}

如何使用LINQ而不是:

来完成
myList[0] = myList[1] = 0;

2 个答案:

答案 0 :(得分:3)

您可以在选择值时尝试查看索引,忽略前两个值。

var myList = new List<int> { 1, 2, 3 };

myList = myList.Select((x, index) => index < 2 ? 0 : x).ToList(); // { 0, 0, 3 }

请注意,这是创建新列表而不是操纵原始列表。 Linq是一种查询语言。

答案 1 :(得分:-1)

      var myList = new List<int> {1, 2, 3};

       myList = new[] { 0, 0 }.Concat(myList.Skip(2)).ToList();

        foreach (var x in myList)
        {
            Console.WriteLine(x);
        }

输出0 0 3

这是基本解决方案,检查空值的数组大小等。