【问题标题】:How to set a property value to null when select items in a list选择列表中的项目时如何将属性值设置为空
【发布时间】:2014-09-29 08:04:47
【问题描述】:

我有这样的课,

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;

谢谢

【问题讨论】:

标签: c# algorithm linq list


【解决方案1】:

您可以将其显式设置为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 });

【讨论】:

    猜你喜欢
    • 2021-10-16
    • 2014-04-27
    • 2020-08-29
    • 1970-01-01
    • 2021-10-17
    • 2012-03-25
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多