![](/img/trans.png)
[英]Perform manipulation on all elements except last element in a List using Linq
[英]How to get all elements except the n'th element in a List using Linq
说我有10个项目的清单。
List<char> chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
我需要一个新的List,其中包含列表中除n之外的所有元素(例如,第3项'C'
)。 我不希望改变原始列表,因为我以后需要它。
另一种选择是,我可以克隆列表并删除该项目,但是然后必须将所有项目向上移动。
有没有办法使用Linq获取列表?
编辑:
一个字符可以在List中多次出现。 我只希望删除'n'处的出现。
您可以使用Enumerable.Where
方法。
根据谓词过滤一系列值。
List<char> chars = new List<char>(){'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
var newlist = chars.Where(n => n != chars.ElementAtOrDefault(2));
这是一个DEMO
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.