我有一个过程,我在列表中标识行(unmatchedClient),然后调用一个单独的方法将其删除(pingtree.RemoveNodes)。这似乎有点漫长,我只要将属性“ DeleteFlag”的值设置为true就可以实现相同的目的。但是,如何使用linq设置值?

var unmatchedClient = pingtree.Nodes.Where(x =>
    _application.LoanAmount < x.Lender.MinLoanAmount ||
    _application.LoanAmount > x.Lender.MaxLoanAmount ||
    _application.LoanTerm < x.Lender.MinLoanTerm ||
    _application.LoanTerm > x.Lender.MaxLoanTerm)
.Select(x => x.TreeNode)
.ToList();

pingtree.RemoveNodes(unmatchedClient);


提前致谢。

最佳答案

像这样?

pingtree.Nodes.Where(x =>
        _application.LoanAmount < x.Lender.MinLoanAmount ||
        _application.LoanAmount > x.Lender.MaxLoanAmount ||
        _application.LoanTerm < x.Lender.MinLoanTerm ||
        _application.LoanTerm > x.Lender.MaxLoanTerm)
        .Select(x => x.TreeNode)
        .ToList()
        .ForEach(n=> n.DeleteFlag = true);

10-07 22:42