我在LINQ中使用lambda表達式,當必須滿足條件時纔會獲得所有結果,如果不是,應該過濾。返回列表中的所有<T> lambda表達式
//代碼
List<Dispatch> objDispatch = (List<Dispatch>)Session["Data"];
objDispatch = objDispatch.FindAll(dispatch => dispatch.CustomerTransName == ddlTransporterName.SelectedItem.Text && dispatch.InvoiceDate.Date >= Convert.ToDateTime(FromDate).Date && dispatch.InvoiceDate.Date <= Convert.ToDateTime(ToDate).Date);
在上面的代碼即時過濾結果與在該第一條件我需要一個幫助在一些條件設定。
如果傳輸器名稱是'ALL',它應該返回與Date條件匹配的所有結果集,否則它應該根據傳輸器名稱返回。
我該如何做到這一點?
只是快速注意 - 你在這裏並沒有使用LINQ。 'List .FindAll'是.NET 2.0中'List '的一部分。 –
@JonSkeet:更新。 – iamCR
因此,如果我理解正確,如果下拉列表中選定的項目是「ALL」,那麼您希望列表返回兩個日期之間的日期的所有對象,否則它應該過濾名稱以及日期?如果是這種情況,一個簡單的'if'就足夠了。 – Sean