如何在选择列表中的项时将属性值设置为null

本文关键字:属性 设置 null 选择 列表 | 更新日期: 2023-09-27 18:24:51

我有一个像这样的类,

class Test
{
    public int ID { get; set; }
    public string Name { get; set; }
}

我想在列表中选择符合条件的项目,我还想将结果列表的名称设置为null。我不想再次循环集合来设置属性值,有没有办法在linq中的选择过程中设置属性值?

这是我当前的查询:

var v = from t in tests where ids.Contains(t.ID) select t;

感谢

如何在选择列表中的项时将属性值设置为null

您可以显式地将其设置为null

var newTests = tests.Where(test => ids.Contains(test.ID))
                    .Select(test => { 
                                       test.Name = null; 
                                       return test;
                                    });

或者,您可以投影Test:的新实例

var newTests = tests.Where(test => ids.Contains(test.ID))
                    .Select(test => new Test { ID = test.ID });