0
我需要再次幫助。我目前正在一個樣本項目上工作。在那裏我有一個列表框,可以在選定的時間段內使用汽車。這段時間是通過Windows窗體中的DateTime-Control選擇的。看在選定的時間段內是否有租賃
所以我有一個循環(foreach),我刪除了所有列表條目,這些列表條目在選定的時間段內不可用。
它看起來像這樣
int recordsRemoved = availableCars.RemoveAll(f =>f.ObjectID == v.Car && dtStartDate.Value >= v.StartDate | dtEndDate.Value <= v.EndDate);
dtStartDate是Windows窗體控件和v.StartDate是從租金在我的數據庫的起始日期。
我希望這是可以理解的那麼遠,
正如你可能會說,我的「如果」不工作的方式,我想。我需要的是一個選項,用於刪除已經從(例如)10.05.2016到2016年5月17日期間租用的每輛車。
當我選擇10.05.2016至17.05.2016我不希望任何汽車在列表中(例如)從2016年5月12日到2016年5月23日的租金。
嗯,再一次,我希望我能解釋一下,以便你能理解它。
提前感謝
您可能還需要確保'dtStartDate.Value <= v.EndDate'和'dtEndDate.Value> = v.StartDate '。之後,一些仔細放置的括號將有助於提高可讀性。 –
'|'與'||'不一樣。首先是一個位操作符,其次是一個布爾操作符。我相信你需要第二個版本。正如@ p.s.w.g所說的,當使用'or'運算符和''''運算符時,需要括號。 –
嘗試改進您的條件,如'f.ObjectID == v.Car && dtStartDate.Value> = v.StartDate && dtEndDate.Value <= v.EndDate);' –