c# - 删除给定索引号以外的所有元素

标签 c# linq

我有以下列表以及如何使用 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/

相关文章:

c# - 如何提高有关 Trim() 的 Linq 查询性能

c# - 如何左连接到另一个左连接

c# - 在 .net 中持久化配置项

c# - Entity Framework 6 Code First 中相互引用的两个表

c# - Entity Framework 5 将现有实体添加到嵌套集合

c# - HttpCacheability.NoCache 和 Response.CacheControl = "no-cache"之间有什么不同?

c# - 无法获取 c# linq 查询以使用连接进行编译

linq - RavenDb:检查 List<string> 是否包含另一个 List<string> 中的任何内容

c# - Linq:执行链查询顺序

c# - 类型或命名空间名称 'Azure' 在命名空间 'Microsoft' 中不存在