我有以下列表以及如何使用 linq 从给定索引号中删除所有元素:
List<string> a = new List<string>();
a.Add("number1");
a.Add("number2");
a.Add("number3");
如何使用 linq 删除除索引号 = 2 之外的所有元素。
最佳答案
LINQ 不是关于删除的东西 - 它是关于查询的。
您可以调用RemoveRange
从列表中删除一系列项目。所以:
a.RemoveRange(0, 2);
只会留下“number3”。
或者您可以根据 dasblinkenlight 的回答创建一个新列表。如果您能告诉我们更多关于您想要实现的目标以及您认为 LINQ 是解决方案的原因,我们也许能够为您提供更多帮助。
编辑:好的,现在我们有了更明确的要求,您可以使用 LINQ:
var newList = a.Where((value, index) => index != 2)
.ToList();
关于c# - 删除给定索引号以外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12516753/