亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從空列表中讀取空 DateTime

從空列表中讀取空 DateTime

C#
料青山看我應如是 2022-06-18 17:07:18
我正在嘗試使用 Mvc5 從空列表中讀取空日期時間List<TelecomPayments> telPayments =     db.TelecomPayments        .Where(t => t.TelecomAdmin.TelecomAdminID == telecomAdmin.TelecomAdminID)        .ToList();telPayments.FirstOrDefault();DateTime? lastDate = telPayments.FirstOrDefault().ToDate;if (lastDate == null){    if (telPayments.Count == 0)    {    }}這是我在控制器中指定的,但仍然通過補償
查看完整描述

2 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

使用 LINQ 時,有兩組函數:返回IEnumerable<...>(or IQueryable<...>) 的函數和返回 a的函數TResult。

如果您編寫 LINQ 語句,請始終確保所有中間 LINQ 語句都返回IEnumerableIQueryable,只有最后一個可能是FirstOrDefaultToListMax,Any等。

DateTime? lastDate = telPayments
    .Select(telpayment => telpayment.ToDate)
    .FirstOrDefault();


查看完整回答
反對 回復 2022-06-18
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

如果您使用的是 C# 6 或更高版本,則可以使用?。又名“空條件”運算符:


List<TelecomPayments> telPayments = 

    db.TelecomPayments

        .Where(t => t.TelecomAdmin.TelecomAdminID == telecomAdmin.TelecomAdminID)

        .ToList();


DateTime? lastDate = telPayments.FirstOrDefault()?.ToDate;

這只會.ToDate在它之前的部分不為空時嘗試訪問。


如果您使用的是較舊的 C# 版本,則必須進行更明確的 null 檢查:


List<TelecomPayments> telPayments = 

    db.TelecomPayments

        .Where(t => t.TelecomAdmin.TelecomAdminID == telecomAdmin.TelecomAdminID)

        .ToList();


DateTime? lastDate = null;

var payment = telPayments.FirstOrDefault();

if (payment != null) lastDate = payment.ToDate;


查看完整回答
反對 回復 2022-06-18
  • 2 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號