从List <int> </int>中删除所有“0”值

时间:2014-05-10 19:19:31

标签: c# linq list integer

我只想找到一种方法来删除List(int)中== 0的所有值。

感谢。

1 个答案:

答案 0 :(得分:2)

以下是一些选项:

根据原始列表创建新列表并过滤掉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)) { }