如果某个值为null,如何保留未声明的变量?

Obs*_*vus 0 c#

代码行如下所示:

ActiveEndDate = item[BuiltInFieldId.ActiveEndDate] != null ? 
DateTime.Parse(item[BuiltInFieldId.ActiveEndDate].ToString()) : (DateTime?)null
Run Code Online (Sandbox Code Playgroud)

我怎样才能确保如果item[BuiltInFieldId.ActiveEndDate]null声明它ActiveEndDate,则不要向变量声明任何内容,甚至不要null.

它必须在对象初始化期间

这是请求的周围代码:

      var result = new Xannounce
                {

                    MyX = (
                        from item in items.Cast<SPListItem>()
                        from ta in (item[FieldId.x] as string ?? "").Replace(";", string.Empty).Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                        where audienceIds.Select(x => x.xID).Contains(ta)
                        select new Xannounce
                            {
                                Xid = item.ID,
                                Xpub = item[BuiltInFieldId.ResponsiblePublisher] as string ?? string.Empty,
                                XformUrl = item.ParentList.DefaultEditFormUrl,
                                ActiveEndDate = item[BuiltInFieldId.ActiveEndDate] != null ? DateTime.Parse(item[BuiltInFieldId.ActiveEndDate].ToString()) : (DateTime?)null,
                                ActiveStartDate = item[BuiltInFieldId.ActiveStartDate] != null ? DateTime.Parse(item[BuiltInFieldId.ActiveStartDate].ToString()) : (DateTime?)null,
                                XEndDate = item[BuiltInFieldId.EndDate] != null ? DateTime.Parse(item[BuiltInFieldId.EndDate].ToString()) : (DateTime?)null,
                                XStartDate = item[BuiltInFieldId.StartDate] != null ? DateTime.Parse(item[BuiltInFieldId.StartDate].ToString()) : (DateTime?)null,
                                XTitle = item[SPBuiltInFieldId.Title].ToString(),
                                XMessage = item[SPBuiltInFieldId.Body] != null ? item[SPBuiltInFieldId.Body].ToString() : string.Empty,
                                Xtype = new SPFieldLookupValue(item[BuiltInFieldId.AnnouncementType].ToString()).LookupId,
                                XAuthor = item[SPBuiltInFieldId.Author].ToString(),
                                XAudienceNames = AudienceUtility.FindAudiences(item[FieldId.AudienceTargeting].ToString(), SPServiceContext.Current).Select(y => ' ' + y.AudienceName).ToArray()
                            }),
// Code continues...
Run Code Online (Sandbox Code Playgroud)

任何形式的帮助或提示都很受欢迎

Car*_*nco 5

如何不使用三元运算符?

if(item[BuiltInFieldId.ActiveEndDate] != null){
          ActiveEndDate =  item[BuiltInFieldId.ActiveEndDate];
}
Run Code Online (Sandbox Code Playgroud)