【发布时间】:2014-06-28 09:54:30
【问题描述】:
我只是在寻找一种方法来删除 List(int) 中 == 0 的所有值。
谢谢。
【问题讨论】:
-
看看
List<T>.RemoveAll或许?
我只是在寻找一种方法来删除 List(int) 中 == 0 的所有值。
谢谢。
【问题讨论】:
List<T>.RemoveAll 或许?
这里有几个选项:
根据原始列表创建一个新列表并过滤掉0值:
var newList = originalList.Where(i => i != 0).ToList();
修改原列表:
originalList.RemoveAll(i => i == 0);
老式的、痛苦的方式(为了搞笑):
for (int i = 0; i < originalList.Length; i++)
{
if (originalList[i] == 0)
{
originalList.RemoveAt(i);
i--;
}
}
真正低效,反复遍历列表的方式(不要这样做):
while (originalList.Remove(0)) { }
【讨论】:
RemoveAll 当然会...