linq 基本用法

新建一个类

 public class FolderBE
    {
       public string FolderOne
       { get; set; }
       public string FolderTwo
       { get; set; }
       public string FolderThree
       { get; set; }
       public string FolderFour
       { get; set; }
       public string FolderFive
       { get; set; }
    }

然后

    List<FolderBE> listFolder = new List<FolderBE>();

                    FolderBE folder = new FolderBE();
                    folder.FolderOne = "one";
                    folder.FolderTwo = "two";
                    folder.FolderThree = "three";

                    listFolder.Add(folder);

写一个搜索方法:

   private bool CheckFolderExist(FolderBE folder, int item)
        {
            List<FolderBE> HavelistFolder = new List<FolderBE>();

            if (item == 1)
            {
                HavelistFolder = (from entity in listFolder
                                  where entity.FolderOne == folder.FolderOne &&
                                  string.IsNullOrEmpty(entity.FolderTwo)
                                  select entity).ToList();
            }
            else if (item == 2)
            {
                HavelistFolder = (from entity in listFolder
                                  where entity.FolderOne == folder.FolderOne &&
                                  entity.FolderTwo == folder.FolderTwo && string.IsNullOrEmpty(entity.FolderThree)
                                  select entity).ToList();
            }
            else if (item == 3)
            {
                HavelistFolder = (from entity in listFolder
                                  where entity.FolderOne == folder.FolderOne &&
                                  entity.FolderTwo == folder.FolderTwo && entity.FolderThree == folder.FolderThree
                                  select entity).ToList();
            }
            return HavelistFolder.Count == 0;
        }

如果只需要FolderBE其中几个字段,如下:

新建另一个类:

    public class NewFolderBE
    {
        public string FolderOne
        { get; set; }
        public string FolderTwo
        { get; set; }
        public string FolderThree
        { get; set; }

    }

 var needfolder = from entity in listFolder
                              where entity.FolderOne == folder.FolderOne &&
                                  entity.FolderTwo == folder.FolderTwo && entity.FolderThree == folder.FolderThree
                           select new NewFolderBE { FolderOne = entity.FolderOne, FolderTwo = entity.FolderTwo, FolderThree = entity.FolderThree };

       List<NewFolderBE> newlist =  needfolder.ToList();

就OK了

posted @   spring yang  阅读(554)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示