簡體   English   中英

C#篩選列表-多個條件

[英]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.

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