如何设置属性值设置为null时,在列表中选择项目
问题描述:
我有一类与此类似,如何设置属性值设置为null时,在列表中选择项目
class Test
{
public int ID { get; set; }
public string Name { get; set; }
}
我想选择列表合格的项目,我也想名称设置为空结果列表。我不想再循环集合来设置属性值,有没有办法在linq中选择期间设置属性值?
这是我当前的查询:
var v = from t in tests where ids.Contains(t.ID) select t;
感谢
答
您可以简单地将它设置为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 });
看起来这个主题可以帮助http://*.com/questions/807797/linq-select-an-object-and-change-some-properties-without-creating-a-new-object – Anatoliy 2014-09-29 08:11:38