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

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

強制計算年的持續時間

強制計算年的持續時間

C#
慕的地8271018 2023-06-25 14:28:14
我有一個要求,我必須強制將持續時間顯示為兩年完成。例如,2016 年至 2018 年期間在應用程序中在線活躍的任何客戶都應被視為在應用程序中完成兩年。這看起來很簡單,并使用以下內容Linq來使其工作:var result = (from c in db.Users              where c.UserId == id && (c.Start.Year >= 2016 && c.End.Year <= 2018)              select c).ToList (); int years = 0; if (result.Count () > 0) {     years = 2; } else {    //Logic goes here }所以可以看出我是在強迫它計算兩年的持續時間。根據這一點,我將授予用戶 20% 的系統忠誠度。盡管構建邏輯有點復雜。同樣,在該范圍內,用戶可能在 2016 年至 2017 年期間處于活躍狀態。因此這些用戶將沒有資格獲得忠誠度。如何才能使上述功能在兩種條件下工作兩年,以及對于不符合條件的用戶?任何想法,將不勝感激。
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

我想這就是你所追求的。它獲取用戶并確定開始年份和結束年份之間的時間跨度,將該值分配給年份,然后檢查它是否小于 2。如果是,則執行您的邏輯。我假設 UserId 是唯一的,并且始終至少有一個條目。

var result = (

? ? from c in db.Users

? ? where c.UserId == id

? ? select c).Single();




int years =? result.End.Year - result.Start.Year;


if (years <= 2)

{

//Logic goes here

}


查看完整回答
反對 回復 2023-06-25
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

您也許可以計算 Linq 查詢中的時間跨度。

var list = cItems.Where(x => ((TimeSpan)(x.End - x.Start)).Days > 730).ToList();


查看完整回答
反對 回復 2023-06-25
  • 2 回答
  • 0 關注
  • 168 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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