Say I have a list of 10 items.
List<char> chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
I need a new List containing all the elements in the List except n'th (say, 3rd item 'C'
). I don't want the original list to be altered since I need it later.
Another option is, I can clone the list and remove the item, but then all the items after the n'th has to be shifted up.
Is there a way to get the list using Linq?
Edit:
A character can occur multiple times in the List. I want only the occurance at 'n' to be removed.
You can use Enumerable.Where
method.
Filters a sequence of values based on a predicate.
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));
Here is a DEMO
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.