3
這似乎有點「多」,但是這是我撿!LINQ語法contains方法具有包容性的「過濾器」
的Envision與作爲用於用戶的包容性過濾器的CheckBoxList的形式。
此用戶填寫一個表格,在他們想要的過濾器檢查過哪些項目,並關閉他們去。
我在尋找中寫入以下LINQ語句簡潔的方式:
如果沒有物品進行檢查,顯示所有結果 其他 由用戶選擇過濾顯示結果
是它可能(如果是這樣,如何)寫這個而不使用基本上是相同查詢的條件語句,但沒有Contains方法?
我試圖把一個三元運算符在我的Where子句,但是編譯器不喜歡它。
System.Collections.Generic.List catIds =新System.Collections.Generic.List();
foreach (ListItem lstItemCategory in lstCategories.Items)
{
if (lstItemCategory.Selected)
{
catIds.Add(Convert.ToInt64(lstItemCategory.Value));
}
}
var qry = from rategroup in rategroups
from rate in rategroup.Rates
orderby rate.RateClass.Id descending
select new
{
Category = rate.Product.ProductCategories[0].Category.Description,
rate.Product.Description,
Carrier = rate.CarrierName,
Id = rate.Product.ProductCategories[0].Id
};
this.gvSchedule.DataSource = qry.Where(x => catIds.Contains(x.Id)).OrderBy(x => x.Category).ThenBy(x => x.Carrier).ToArray();
this.gvSchedule.DataBind();
正想說同樣的話,但有相反,如果三元運營商。 :) –