我有一个对象列表。如果任何一个属性相等,null我希望将整个元素从列表中删除。有没有比我下面有的更好的方法了。
我已经尝试了每个循环,但要么不知道该怎么做,要么不完全了解如何完成任务。
var i = 0;
while (i < filterCriterias.Count())
{
if (filterCriterias[i].ColumnName == null
|| filterCriterias[i].Comparator == null
|| filterCriterias[i].Criteria == null)
{
filterCriterias.RemoveAt(i);
}
else
{
i++;
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我有以下列表:
List<Order> orders = new List<Order>
{
new Order {ColumnName = null, OperantOrder = null},
new Order {ColumnName = Session, OperantOrder = ASC},
new Order {ColumnName = null, OperantOrder = null},
}
Run Code Online (Sandbox Code Playgroud)
我只希望列表仅包含元素1,其中columnName = session和operantorder = asc。
Mur*_*nik 10
A more idiomatic approach would be to use RemoveAll:
filterCriterias.RemoveAll(c => c.ColumnName == null ||
c.Comparator == null ||
c.Criteria == null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |