c# – 如何使用Linq获取List中除第n个元素之外的所有元素

说我有10个项目的清单.

List<char> chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];

我需要一个新的List,其中包含List中除n之外的所有元素(例如,第3项’C’).我不希望改变原始列表,因为我以后需要它.

另一种选择是,我可以克隆列表并删除该项目,但是之后所有项目都必须向上移动.

有没有办法使用Linq获取列表?

编辑:

一个字符可以在List中多次出现.我只希望删除’n’处的出现.

最佳答案
当然,使用带有索引参数的overload of Where

var allBut3 = chars.Where((c, i) => i != 2);  // use 2 since Where() uses 0-based indexing

转载注明原文:c# – 如何使用Linq获取List中除第n个元素之外的所有元素 - 代码日志