当参数为null时,Linq在创建投影列表时失败

时间:2012-02-21 22:55:42

标签: linq nullable

我试图通过Linq获取MemberMaintenanceData对象列表,如下所示。问题是,只要m.StartDate为null,就会抛出NullObjectReference错误。

var filteredMembers = from m in members.ToList()
    select new MemberMaintenanceData
         {

               MemberName = m.Name,
               SSN = m.SSN,
               PlanName = m.PlanName,
               EffectiveDate = m.StartDate ?? null,
               //EffectiveDate = m.StartDate ?? DateTime.Now,
               GroupName = ""
          };

public class MemberMaintenanceData
{

    public string MemberName { get; set; }
    public string SSN { get; set; }
    public string PlanName { get; set; }
    public DateTime? EffectiveDate { get; set; }
    public string GroupName { get; set; }
}

在MemberMaintenanceData中,EffectiveDate被声明为可空,我正在检查它是否为null。奇怪的有效日= m.StartDate ?? DateTime.Now行工作正常。请让我知道如何解决它。

由于

1 个答案:

答案 0 :(得分:1)

我刚刚运行了一个repro,它按预期工作。我不认为StartDate是这里的问题。我想你误解了NullReferenceException的来源。

我的猜测是你的成员列表包含空引用。