我已经定义了一个列表为
List<List<int>> thirdLevelIntersection = new List<List<int>>();
我写的代码是
for(int i = 0; i < 57; i++)
{
if(my condition)
thirdLevelIntersection[i] = null;
else
{
//some logic
}
}
所以我得到了0到56个值的列表,有些值是空的,例如thirdlevelIntersection [1],thirdlevelIntersection [10],thirdlevelIntersection [21],thirdlevelIntersection [21],thirdlevelIntersection [14],thirdlevelIntersection [15],thirdlevelIntersection [51] ](共7个)。
现在我想从列表中删除此值。
并有一个来自thirdlevelIntersection [0] thirdlevelIntersection [49]的列表。
我该怎么办?
最佳答案
如果要通过某种类型的thirdLevelIntersection
创建sourceCollection
,则可以使用Linq。
List<List<int>> thirdLevelIntersection =
(from item in sourceCollection
where !(my condition)
select item)
.ToList();
或者,如果您要在多个语句中建立列表,则可以在创建列表时进行操作:
thirdLevelIntersection.AddRange(
from item in sourceCollection
where !(my condition)
select item);
这消除了添加项目后从列表中删除项目的必要性。
关于c# - 从列表中删除多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15672855/