Linq學習筆記(1.2)——select

來源:互聯網
上載者:User

 

using System;<br />using System.Data;<br />using System.Configuration;<br />using System.Linq;<br />using System.Web;<br />using System.Web.Security;<br />using System.Web.UI;<br />using System.Text;<br />using System.Web.UI.WebControls;<br />using System.Web.UI.WebControls.WebParts;<br />using System.Web.UI.HtmlControls;<br />using System.Collections.Generic;<br />using System.Collections;</p><p>public partial class _Default : System.Web.UI.Page<br />{<br /> protected void Page_Load(object sender, EventArgs e)<br /> {<br /> //格式化化查詢結果格式化化查詢結果<br /> Response.Write("<hr>格式化化查詢結果:<br>");<br /> string[] stringArray = { "Ajax", "Csharp", "Javascript", "Css Desige", "Asp.net", "Gis" };<br /> var books = from n in stringArray<br /> where n.Length >= 6<br /> select "I'm studying " + n;</p><p> foreach (var book in books){<br /> Response.Write(string.Format("<div class='result'>{0}</div>", book));<br /> }</p><p> //只查詢合適對象集合的某個屬性<br /> Response.Write("<hr>只查詢合適對象集合的某個屬性:<br>");<br /> List<Student> StudentList = GetStudents();<br /> var students1 = from n in StudentList<br /> where n.Language == "Chinese"<br /> select n.Name;</p><p> foreach (var student in students1)<br /> {<br /> Response.Write(string.Format("<span class='result'>{0}</span>", student));<br /> }</p><p> //從一個集合中查詢,轉化到另外一個集合<br /> Response.Write("<hr>從一個集合中查詢,轉化到另外一個集合:<br>");<br /> int[] intArray = { 3, 1, 6, 4 };<br /> var students2 = from n in intArray<br /> select StudentList[n];</p><p> foreach (var student in students2)<br /> {<br /> Response.Write(string.Format("<span class='result'>{0}</span>", student.Name));<br /> }</p><p> //構建匿名型別<br /> Response.Write("<hr>構建匿名型別:<br>");<br /> var stu = from n in intArray<br /> select new { Id = n, Name = StudentList[n].Name };</p><p> foreach (var s in stu)<br /> {<br /> Response.Write(string.Format("<div class='result'>id:{0}; name:{1}</div>", s.Id,s.Name));<br /> }</p><p> //構建匿名型別2——擴充已有類<br /> Response.Write("<hr>構建匿名型別2——擴充已有類:<br>");<br /> var students3 = from n in intArray<br /> select new { Id = n, StudentList[n].Name, StudentList[n].Age };</p><p> foreach (var student in students3)<br /> {<br /> Response.Write(string.Format("<div class='result'>id:{0}; name:{1}; age:{2}</div>", student.Id, student.Name, student.Age));<br /> }</p><p> //select的Lambda運算式<br /> Response.Write("<hr>select的Lambda運算式:<br>");<br /> var students4 = intArray.Select(i => new { Id = i, StudentList[i].Name });</p><p> foreach (var student in students4)<br /> {<br /> Response.Write(string.Format("<div class='result'>id:{0}; name:{1}</div>", student.Id, student.Name));<br /> }</p><p> // 複合選擇<br /> Response.Write("<hr>複合選擇:<br>");<br /> var study4 = from a in StudentList where a.Age>23<br /> from b in stringArray where b.Length>8<br /> select new {name=a.Name,book=b};<br /> foreach (var student in study4)<br /> {<br /> Response.Write(string.Format("<div class='result'>{0} is studying {1}</div>", student.name, student.book));<br /> }</p><p> //多重選取<br /> Response.Write("<hr>多重選取:<br>");<br /> var study =<br /> from a in StudentList<br /> where a.Age > 20<br /> from b in stringArray<br /> where b.Length > 5<br /> select new {a.Name,book=b};</p><p> foreach (var s in study)<br /> {<br /> Response.Write(string.Format("<div class='result'>name:{0}; book:{1}</div>", s.Name, s.book));<br /> }</p><p> //多重選取的Lambda運算式<br /> Response.Write("<hr>多重選取的Lambda運算式:<br>");<br /> var study1 = StudentList.SelectMany(student => stringArray.Select(str => student.Name + " has a book names " + str));</p><p> foreach (var s in study1)<br /> {<br /> Response.Write(string.Format("<div class='result'>{0}</div>", s));<br /> }<br /> }</p><p> //構造一個學生集合體<br /> private List<Student> GetStudents()<br /> {<br /> List<Student> students = new List<Student> {<br /> new Student{ Name="YOUNG", Age=25, Language="Chinese"},<br /> new Student{ Name="JESSIE", Age=21, Language="Scotland"},<br /> new Student{ Name="KELLY", Age=18, Language="English"},<br /> new Student{ Name="JUNE", Age=20, Language="English"},<br /> new Student{ Name="ADRIAN", Age=22, Language="Italy"},<br /> new Student{ Name="BRUCE", Age=17, Language="Scotland"},<br /> new Student{ Name="BRANT", Age=30, Language="Germany"},<br /> new Student{ Name="BEN", Age=25, Language="Chinese"}<br /> };<br /> return students;<br /> }<br />}</p><p>//學生類<br />class Student<br />{<br /> public int Age { get; set; }<br /> public string Name { get; set; }<br /> public string Language { get; set; }<br />}

 

結果:

 

 

轉自:http://www.cnblogs.com/young18/archive/2007/06/05/772127.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.