這邊設置的物件如下
public class BannerModel
{
public Int64? BannerID { get; set; }
public String ItemID { get; set; }
public bool? ActiveFlag { get; set; }
public DateTime? CreDate { get; set; }
public DateTime? UpdDate { get; set; }
}
Linq去下條件判斷如下
var N = bannerList.Where(q => q.StartDate.Date <= DateTime.Now.Date).OrderByDescending(q => q.SortNo).FirstOrDefault();
這邊會顯示錯誤,因為datetime?的類型可能為null所以不可使用datetime類型的方法
想請教一下各位前輩
這種狀況有沒有在可能為null類型前面加一個符號告知程式這個資料一定不為nul之類的語法?
或是有其他方式可以處理這類方法呢
這種狀況有沒有在可能為null類型前面加一個符號告知程式這個資料一定不為nul之類的語法?
1.去掉?
2.強轉型(DateTime)
第一種方式因為物件有其他用途所以暫不考慮
目前也是先暫定用第二種做法
var N = bannerList.Where(q => ((DateTime)q.StartDate).Date <= DateTime.Now.Date).OrderByDescending(q => q.SortNo).FirstOrDefault();
但不知道有沒有其他更好的方法