List<int> list = new List<int>() { 1,2,3,4,5,6,7,8,9,10}; var result = from n in list where n>5 select n; foreach(var n in result) { Console.WriteLine(n); }
var query = from s in students join c in studentsInCourses on s.StID equals c.StID
let子句
接受一个表达式的运算并把它赋值给一个需要在其他运算中使用的标识符
1 2 3 4 5 6 7 8 9 10 11 12
static void Main(string[] args) { List<int> list1 = new List<int>() { 3, 4, 5, 6 }; List<int> list2 = new List<int>() { 6,7,8,9 }; var res = from l1 in list1 from l2 in list2 let sum = l1+ l2 where sum==12 select new { l1,l2,sum }; foreach(var a in res) { Console.WriteLine(a); } }
static void Main(string[] args) { List<int> list1 = new List<int>() { 16,8,146,95,3,24 }; var res = from l1 in list1 orderby l1 select l1; foreach(var a in res) { Console.WriteLine(a); } }
internal class Program { static void Main(string[] args) { Student[] students = new Student[] { new Student(){Lname = "三",Fname = "张", age = 18,Major = "计算机网络"}, new Student(){Lname = "四",Fname = "李", age = 18,Major = "数据结构与算法"}, new Student(){Lname = "五",Fname = "王", age = 18,Major = "计算机网络"}, new Student(){Lname = "人甲",Fname = "路", age = 18,Major = "数据库原理"}, new Student(){Lname = "灰乙",Fname = "炮", age = 18,Major = "数据库原理"} }; var query = from student in students group student by student.Major; foreach(var q in query) { Console.WriteLine(q.Key); foreach(var s in q) { Console.WriteLine(s.Fname+s.Lname+"选修"+s.Major); } } } } public class Student { public string Lname { get; set; } public string Fname { get; set; } public string Major { get; set; } public int age { get; set; } }
static void Main(string[] args) { var groupA = new[]{ 3, 4, 5, 6, }; var groupB = new[] { 4,5,6,7 }; var res = from a in groupA join b in groupB on a equals b into groupAB from c in groupAB select c; foreach(var r in res) { Console.WriteLine(r); } }
internal class Program { static void Main(string[] args) { var group = new[] {1,2,3,4,5,6,7,8,9,0 }; Student[] students = new Student[] { new Student(){name = "路人甲",age =18 }, new Student(){name = "路人乙",age =18 }, new Student(){name = "路人丙",age =19 }, new Student(){name = "路人丁",age =120 }, }; var res1 = group.Where(e => e > 6); var res2 = group.Count(e=>e<5); var res3 = group.Any(e=>e<0); var res4 = group.Single(e=>e==6); var res5 = group.SingleOrDefault(e=>e==7); var res6 = group.First(e=>e>3); var res7 = group.FirstOrDefault(e=>e>15); var res8 = group.OrderBy(e=>e); var res9 = students.OrderBy(e=>e.age); var res10 = students.OrderByDescending(e=>e.age); var res11 = students.OrderBy(e => Guid.NewGuid());//随机排序 var res12 = students.OrderBy(e => e.age).ThenBy(e=>e.name); var res13 = students.OrderBy(e => e.age).ThenByDescending(e=>e.name); var res14 = group.Skip(2).Take(3);//跳过2条,取2条 var res15 = students.Max(e => e.age); var res16 = students.Min(e => e.age); var res17 = students.Average(e => e.age); var res18 = students.Sum(e => e.age); var res19 = students.Count(); var res20 = students.GroupBy(e => e.age); var res21 = students.Select(e => e.age); var res22 = students.ToList(); var res23 = students.ToArray(); } } public class Student { public string name { get; set; } public int age { get; set; } }