新对象分配中的条件?

时间:2009-12-12 03:29:21

标签: c# linq

这是什么简写或我不应该这样做? 我打算用方法来检查吗?

 bool assign=value;
 objectsList = from o in objects select new {
                              id=o.id,
                              name=o.name or "" (if assign==false),

                                }

2 个答案:

答案 0 :(得分:3)

你的意思是:

bool assign=value;
var objectsList = from o in objects select new {
    id=o.id,
    name=(assign ? o.name : String.Empty)
};

PS:警惕延迟执行 - 检查分配将在您使用它时发生,而不是在声明select语句时。

答案 1 :(得分:1)

bool assign=value;
var objectsList = from o in objects select new 
                  {
                      id = o.id,
                      name = assign ? o.name : String.Empty 
                  };