将linq return属性设置为null

时间:2010-07-20 01:03:04

标签: c# linq anonymous-types

如何设置OrganizationName = null不起作用?我正在进行联合,并希望将值设置为null

from a in Activities
select new 
{
    a.ActivityID,
    a.ActivityName,
    a.OrganizationID,
    OrganizationName = null
}

2 个答案:

答案 0 :(得分:2)

你实际上不能这样做:

  

这是一个编译时错误   在匿名对象中表达   初始化器为null类型。

但是,你可以这样做:

from a in Activities 
select new  
 { 
  a.ActivityID, 
  a.ActivityName, 
  a.OrganizationID, 
  OrganizationName = (object)null 
 } 

这是因为在一个匿名对象中,它需要能够确定该变量的类型,并且它不想假设它只是object。事实上,对于您的示例,您甚至可能不需要(您可能需要string或复杂类型,例如Organisation)。这与前进的问题相同:

var a = null; /* What am I oh cruel world */

说过我无法看到你在这里尝试做什么的效用所以如果你详细说明你的用例,可能会找到一个更有用的答案。

参考文献:

答案 1 :(得分:0)

你需要将OrganizationName设置为null,假设它是一个类似的属性。     a.OrganizationName = null