簡體   English   中英

如何提高 C# 中條件“或”的性能

[英]How to improve performance for condition "or" in C#

我有一個 if 語句

 DateTime start = Convert.ToDateTime(assign.Start.ToString("MM/dd/yyyy"));
 DateTime finish = Convert.ToDateTime(assign.Finish.ToString("MM/dd/yyyy"));
 DateTime pic1 = Convert.ToDateTime(re.timepicker1().ToString("MM/dd/yyyy"));
 DateTime pic2 = Convert.ToDateTime(re.timepicker2().ToString("MM/dd/yyyy"));
 if (start == pic1 || start < pic1 && finish >= pic1  || start > pic1 && finish <= pic2 || start > pic1 && start < pic2)

那么,如何提高性能呢? 現在,它運行緩慢。

將字符串轉換為日期時間是一項艱巨的任務,您應該只在必要時才這樣做。 此外,當您知道需要相同的 DateTime 值時,請存儲先前轉換的結果並在以后使用它們,這樣您就不必再次轉換值。

在您的代碼中,您有 DateTime 值,然后將它們轉換為字符串,然后將它們轉換回 DateTime。 為什么不比較原始的 DareTime 值?

如果您只想使用日期信息並跳過時間,則屬性 Date 為您提供:

var dateTimeNow = DateTime.Now;
var dateToday = datetimeNow.Date;

比較來自屬性 .Date 的值,然后您將不需要任何字符串轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM