在C#中如何在一定长度后删除数组中的项目?

leo*_*ora 2 c# collections

如果我有一个对象数组,我想删除一定长度后的所有项目

例如,如果数组的起始长度是10,我想只保留数组中的前5个项目,然后删除所有内容.注意:阵列可能小于5,什么都不做.

  int startLength = 10;
  int maxLength = 5;
  List<MYObject> myList = CreateListofObjects(startLength);
Run Code Online (Sandbox Code Playgroud)

我想要像"RemoveAfter"这样的东西,其中"RemoveAfter"会做这样的事情:

  myList = myList.RemoveAfter(maxLength);

  Assert.IsTrue(myList.Count() ==5);
Run Code Online (Sandbox Code Playgroud)

Mit*_*eat 7

myList = myList.Take(maxLength).ToList();
Run Code Online (Sandbox Code Playgroud)

[注意:这会创建一个新列表,我们将其分配给原始列表占位符(myList),而不是更改原始列表.]