C# Linq基本常用用法


 

1.什么是Linq?

  Lanaguage Interated Query(語言集成查詢),Linq 是集成C# 和VB這些語言中用於提供數據查詢能力的一個新特性。

  這里只介紹兩種基本常用用法。

  學習方法參考示例代碼

1) where  查詢

 class Program
    {
        static void Main(string[] args)
        {
            int[] nums = new int[] { 10, 2, 3, 100, 1, 5, 17, 82, 22, 3 };
            var result = from m in nums where m >= 10 select m;
            foreach (var v in result)
            {
                Console.WriteLine("v:" + v + "  ");
            }
            Console.WriteLine("\n");

            //使用Lambda 表達式進行Linq查詢
            var result2 = nums.Where(m => m >= 10);
            foreach (var v in result2)
            {
                Console.WriteLine("v2:" + v + "  ");
            }

            List<People> mans = new List<People>();
            mans.Add(new People { id = 10, sex = true, name = "小王", birthday = Convert.ToDateTime("1994-1-1") });
            mans.Add(new People { id = 11, sex = false, name = "小張", birthday = Convert.ToDateTime("1954-1-1") });
            mans.Add(new People { id = 12, sex = true, name = "小明", birthday = Convert.ToDateTime("1993-1-1") });
            mans.Add(new People { id = 13, sex = false, name = "小紅", birthday = Convert.ToDateTime("1974-1-1") });

            var resultMan = from man in mans where man.id < 11 && man.sex select man;
            foreach (var v in resultMan)
            {
                Console.WriteLine("v:"+v.id + " name :"+v.name);
            }
            Console.Read();
        }
    }

    class People
    {
        public string name { get; set; }
        public int id { get; set; }
        public bool sex { get; set; }
        public DateTime birthday { get; set; }
        public int GetAge()
        {
            return DateTime.Now.Year - birthday.Year;
        }
    }


2) order 排序

descending 降序

ascending 升序

 1   List<int> numbers = new List<int>() { 10, 11, 1, 2, 3, 7, 6 };
 2 
 3             var resultNums = from m in numbers orderby m  select m;
 4             foreach (var v in resultNums)
 5             {
 6                 Console.WriteLine("v num:"+v);
 7             }
 8             Console.WriteLine("\n");
 9             var resultNums2 = from m in numbers orderby m descending select m;
10             foreach (var v in resultNums2)
11             {
12                 Console.WriteLine("v2 num:" + v);
13             }
14             Console.WriteLine("\n");
15 
16             var resultNums3 = from m in numbers orderby m ascending select m;
17             foreach (var v in resultNums3)
18             {
19                 Console.WriteLine("v3 num:" + v);
20             }

 

 

2.優點

   1.簡單,容易上手,極大節省開發效率。

   2.很大程度上節省代碼量。

建議:Unity開發的話,一般都不要去使用,會產生GC。

參考鏈接:http://www.cnblogs.com/jara/p/3472215.html  http://www.cnblogs.com/hgmyz/p/7068150.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM