我有一个包含多个值的List,例如:
var myList = new List<int> { 1, 2, 3 };
我想要一个新的列表 列表{0,0,3}
如何使用LINQ而不是:
来完成myList[0] = myList[1] = 0;
答案 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
这是基本解决方案,检查空值的数组大小等。