LINQ-Where子句與select子句


1.Where子句

  where子句的作用就是篩選元素,除了開始喝結束位置,where子句幾乎可以出現在LINQ表達式的任意位置。一個LINQ表達式中可以有Where子句,也可以沒有;可以有一個,可以有多個;多個where子句之間的關系相當於邏輯“與”,每個where子句可以包含1個或多個邏輯表達式,這些條件成為“謂詞”,多個謂詞之間用布爾運算符隔開,比如邏輯“與”用&&,邏輯“或”用||,而不是SQL中的and或or

namespace LINQ
{
    class Custom
    {
        public string name
        {
            get;
            set;
        }
        public int Age
        {
            get;
            set;
        }
        public List<string> Table
        {
            get;
            set;
        }
    }
}
  class Program
    {
        static void Main(string[] args)
        {
            List<Custom> my = new List<Custom>()
            {
                new Custom() {  name="杜偉",Age=23,Table=new List<string> { "13166856811","17644045820"} },
                new Custom() {  name="王玥",Age=30,Table=new List<string>(){"13526485597","145326689751" } }
            };

            var b = from a in my
                    //篩選字符串長度為2 與名字開頭有杜的
                  where(a.name.Length==2&&a.name.Substring(0,1)=="")
                     select a;

            foreach (var item in b)
            {
                Console.WriteLine("姓名{0},年齡{1}",item.name,item.Age);
                foreach (var item1 in item.Table)
                {
                    Console.WriteLine("          電話{0}",item1);
                }
            }

            Console.ReadKey();
        }

2.select子句

  例子:最簡單select就是直接輸出from子句建立的那個范圍變來那個;

  

 static void Main(string[] args)
        {
            int[] a = {0,1,2,3,4,5,6,7 ,8,9};
            var qury = from c in a
                       select c;

            foreach (var item in qury)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

        }

例2:對查詢結果進行投影(轉換)。下面查詢表達式查詢arr數組中的每一個元素,查詢結果轉換為一個集合對象的兩個屬性值:ID和Name,它在select子句中由匿名對象初始化器創建。每一個對象的ID屬性的值是當前元素的值、Name屬性的值為元素的值的字符串的表現形式。

   

 static void Main(string[] args)
        {
            int[] a = {0,1,2,3,4,5,6,7 ,8,9};
            var qury = from c in a
                       //使用匿名初始化器創建集合,select可以理解成要顯示的格式
                       select new {id=c,name=c.ToString() };

            foreach (var item in qury)
            {
                Console.WriteLine(item.id+""+item.name);
            }
            Console.ReadKey();

        }

 


免責聲明!

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



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