I know in python you can do something like myList[1:20] but is there anything similar in C#?
I know in python you can do something like myList[1:20] but is there anything similar in C#?
This might be helpful for efficiency, if you really want to truncate the list, not make a copy. While the python example makes a copy, the original question really was about truncating the list.
Given a List<> object "list" and you want the 1st through 20th elements
list.RemoveRange( 20, list.Count-20 );
This does it in place. This is still O(n) as the references to each object must be removed, but should be a little faster than any other method.
The list can be truncated using the RemoveRange keyword . The function is as follows:
void List<type>.RemoveRange(int index, int count);
This removes the elements from index until count.
Using this for type int, to remove from 0 to the not required points:
Code:
int maxlimit = 100;
List<int> list_1 = new List<int>();
if (list_1.Count > maxLimit){
list_1.RemoveRange(0, (list_1.Count - maxlimit));
}