[英]Remove items from multiple nested list using linq
我在父列表TransactionHistoryDetails
中嵌套了列表項ParticipantsDetails
和AssigneeDetails
。
嵌套列表都包含Name
屬性,我想刪除包含Name
為null
碼:
transactionHistory.TransactionHistoryDetails.ForEach(u => u.ParticipantsDetails.RemoveAll(a => a.Name == null));
transactionHistory.TransactionHistoryDetails.ForEach(u => u.AssigneeDetails.RemoveAll(a => a.Name == null));
此代碼有效! 但是有什么辦法可以使用||
在一行中實現相同的效果? 運營商?
您無法在一行中實現此目標,因為您對RemoveAll
的兩次調用在兩個單獨的集合上進行。 您可以將兩個lambda合並為一個,如下所示:
transactionHistory.TransactionHistoryDetails.ForEach(u => {
u.ParticipantsDetails.RemoveAll(a => a.Name == null);
u.AssigneeDetails.RemoveAll(a => a.Name == null);
});
注意:對此有替代方法。 例如,您可以在TransactionHistoryDetails
上引入一個方法來“清理”兩個列表,實際上隱藏了兩條RemoveAll
行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.