Linq上的空值

时间:2014-07-23 09:57:03

标签: linq linq-to-objects

我试图获得dcs.Agent.AgentAlive(布尔值)的值,但我无法这样做,有人可以提出建议。我认为在某些情况下dcs.Agent.AgentAlive为空。

var dc = (from dcs in DataCollectionStatuses
select new { 
     dcs.Frequency, ha= dcs.Agent??dcs.Agent
}).FirstOrDefault();

不支持使用表达式(dcs.Agent ?? dcs.Agent)构造或初始化类型为<> f__AnonymousType1 2 System.String,System.Nullable 1 [System.Int32],DynamicOps.ManagementModel.Agent]的实例。

1 个答案:

答案 0 :(得分:0)

您只想知道座席是否还活着? 如果代理人为空,我认为他不是。 那你只需要非常有用的三元算子?:

var dc = (from dcs in DataCollectionStatuses
          select new { 
                       dcs.Frequency,
                       IsAgentAlive = dcs.Agent!=null ? dcs.Agent.AgentAlive:false
                     }
         ).FirstOrDefault();

了解更多信息 http://msdn.microsoft.com/en-us/library/ty67wk28.aspx