我有一个项目列表:
List<Item> ItemList = new List<Item>;
有时列表只是部分填满或某些索引未被占用,因此当我使用 foreach 遍历列表时,它会给出错误,因为该项目为空。我想将该列表缩减为那些真正有值(value)的项目。这就是我正在尝试的:
var FullItems = ItemList.SkipWhile(Item => Item == null).ToList();
但是当我检查 FullItems 列表时,它仍然包含 ItemList 中的 null 项,所以我只是取回了我开始时使用的整个列表。
帮忙吗?
最佳答案
您在这里寻找的是:
var FullItems = ItemList.Where(Item => Item != null).ToList();
Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements.
这不是您要寻找的行为(我已用粗体标出了您似乎不期望/不希望的实际行为)。
关于C# SkipWhile(Item => Item == null) 仍然返回空项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273173/