给定一个通用类型的IList
,其中包含许多项目,是否有任何方法可以“裁剪”此列表,以便仅保留第一个x项目,其余的则丢弃?
最佳答案
现有答案会创建一个新列表,其中包含原始列表中的项的子集。
如果您需要就地截断原始列表,则可以选择以下选项:
// if your list is a concrete List<T>
if (yourList.Count > newSize)
{
yourList.RemoveRange(newSize, yourList.Count - newSize);
}
// or, if your list is an IList<T> or IList but *not* a concrete List<T>
while (yourList.Count > newSize)
{
yourList.RemoveAt(yourList.Count - 1);
}