[英]C# Filtering List - More Than One Condition
我有一個稱為melter的自定義數據類型的列表。
熔化器中與過濾器有關的兩件事是:
我得到/聲明我的名單是這樣的:
// Return all the melters
var melterslist = ServiceManager.ListStandingDataValues(StandingDataType.melters);
var meltersActive = new List<IMelters>();
foreach (var m in melterslist)
{
if (m.Deleted == false && m.desc.ToUpper().Contains(input))
{
meltersActive.Add(m);
}
}
var json = new { MelterNames = new List<object>() };
foreach (var m in meltersActive)
{
json.meltersNames.Add(
new
{
Name = m.Description,
Value = m.Id
}
);
}
return json;
但是我認為對鞋面和鞋面進行處理會使我花費大量的處理時間,因為列表大小> 1000。
然后每次我認為也會殺死它時,將其轉換為JSON。
在jQuery自動完成字段中使用JSON時,它每分鍾可以命中3/4次。
任何人都可以推薦一個更好的方法來做到這一點,即LINQ查詢?
謝謝
在LINQ中,您可以使用以下方法實現此目的:
meltersActive = (from melter in melterslist
where m.Deleted && m.desc.IndexOf(input, StringComparison.InvariantCultureIgnoreCase) != -1
select new
{
Name = m.Description,
Value = m.Id
});
對於第二個條件(不區分大小寫的Contains
),請查看不區分大小寫的'Contains(string)'和Microsoft Connect 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.