相关代码:
public static void ShowArray() { //数据源 int[] arrayas = new int[] { 1, 2, 3, 4 }; //创建查询 var query = from a in arrayas select a; foreach (var arraya in query) { Console.WriteLine(arraya.ToString()); } } public static void ShowArrayWhere() { //数据源 int[] arrayas = new int[] { 1, 2, 3, 4 }; //创建查询 var query = from a in arrayas where(a%2==1) select a; foreach (var arraya in query) { Console.WriteLine(arraya.ToString()); } } public static void ShowArrayCount() { //数据源 int[] arrayas = new int[] { 1, 2, 3, 4 }; //创建查询 var query = from a in arrayas where (a % 2 == 1) select a; Console.WriteLine(query.Count()); } public static void ShowArrayList() { int[] arrayas = new int[] { 1, 2, 3, 4 }; var query = from a in arrayas where (a % 2 == 1) select a; var querList = query.ToList(); foreach (var a in querList) { Console.WriteLine(a.ToString()); } } public class Student { public string Name { get; set; } public string Classes { get; set; } public List<int> Scores { get; set; } } public static void CreateStudnet() { var students = new List<Student>() { new Student { Name="sunweiwei",Classes="classs1",Scores= new List<int> { 90,80,60 } }, new Student {Name="shizhiwei",Classes="classs2",Scores= new List<int> { 80,56,77} } }; //创建查询 1.查询所有的学生 2.复合查询 3.放入 匿名对象中 var query = from s in students from score in s.Scores where s.Classes == "classs1" && score > 60 orderby score descending select new { Name = s.Name, Score = score }; foreach (var student in query) { Console.WriteLine(student.Name + " " + student.Score); } } /// <summary> /// 多个from查询 /// </summary> public static void AndArray() { string[] arraya = new string[] { "aa", "bb" }; string[] arrayb = new string[] { "cc", "dd" }; var query = from a in arraya from b in arrayb select new { A=a, B=b }; foreach (var s in query) { Console.WriteLine(s.A+""+s.B); } } /// <summary> /// Let /// </summary> public static void Let() { string[] arraya = new string[] { "aa", "bb" }; var query = from a in arraya let A = a.ToUpper() select A; foreach (var s in query) { Console.WriteLine(s); } } public static bool mo(int a) { return a % 2 == 1; } public static void ShowArrayWhere1() { int[] arrayas = new int[] { 1, 2, 3, 4 }; var query = from a in arrayas where mo(a) select a; foreach (var arraya in query) { Console.WriteLine(arraya.ToString()); } } public static void CreateStudentOrderBy() { var students = new List<Student>() { new Student{ Name = "caojian", Classes = "classes1", Scores = new List<int> { 90, 80, 60 } }, new Student { Name = "ligang", Classes = "classes2", Scores = new List<int> { 80, 56, 77 } } }; var query = from s in students from score in s.Scores orderby score descending select new { Name = s.Name, Score = score }; foreach (var student in query) { Console.WriteLine(student.Name+" "+student.Score); } } public static void CreateStudentCreateBy() { var students = new List<Student>() { new Student{ Name = "caojian", Classes = "classes1", Scores = new List<int> { 90, 80, 60 } }, new Student { Name = "ligang", Classes = "classes2", Scores = new List<int> { 80, 56, 77 } } }; var query = from s in students from score in s.Scores //存到范围变量中 group s by s.Classes into sclass select sclass; foreach (var student in query) { Console.WriteLine(student.Key); } }
public class ProductCategory { public int CID { get; set; } public string CName { get; set; } } public class Product { public int PID { get; set; } public string PName { get; set; } public int CID { get; set; } } public static void CreateCP() { var pcs = new List<ProductCategory> { new ProductCategory{ CID=1,CName="c1"} }; var ps = new List<Product> { new Product{ PID=1,PName="p1",CID=1}, new Product{ PID=2,PName="p2",CID=1} }; var query = from c in pcs join p in ps on c.CID equals p.CID select new { CName = c.CName, PName = p.PName }; foreach (var pc in query) { Console.WriteLine(pc.CName+" "+pc.PName); } } public static void CreateCPGroup() { var pcs = new List<ProductCategory> { new ProductCategory{ CID=1,CName="c1"} }; var ps = new List<Product> { new Product{ PID=1,PName="p1",CID=1}, new Product{ PID=2,PName="p2",CID=1} }; var query = from c in pcs join p in ps on c.CID equals p.CID into pps select new { CName = c.CName, pps }; foreach (var pc in query) { foreach (var p in pc.pps) { Console.WriteLine(pc.CName + " " + p.PName); } } }
public class LinqToObject { public class Student { public string Name { get; set; } public string Classes { get; set; } public List<int> Scores { get; set; } } public static void CreateStudnet() { var students = new ArrayList() { new Student { Name="sunweiwei",Classes="classs1",Scores= new List<int> { 90,80,60 } }, new Student {Name="shizhiwei",Classes="classs2",Scores= new List<int> { 80,56,77} } }; //创建查询 1.查询所有的学生 2.复合查询 3.放入 匿名对象中 var query = from Student s in students from score in s.Scores where s.Classes == "classs1" && score > 60 orderby score descending select new { Name = s.Name, Score = score }; foreach (var student in query) { Console.WriteLine(student.Name + " " + student.Score); } } public static List<Student> CreateStudentLamda() { var students = new List<Student> { new Student { Name="sunweiwei",Classes="classs1",Scores= new List<int> { 90,80,60 } }, new Student {Name="shizhiwei",Classes="classs2",Scores= new List<int> { 80,56,77} } }; // var query = students.Where(p => p.Classes == "classs1").OrderBy(p => p.Classes).GroupBy(p => p.Classes); var query = students.Where(p => p.Classes == "classs1"); //var query = students.Where(p => p.Classes == "classs1").Select(p => p.Classes.ToUpper()); return query.ToList(); } public static Student CreateStudentLamdal() { var students = new List<Student> { new Student { Name="sunweiwei",Classes="classs1",Scores= new List<int> { 90,80,60 } }, new Student {Name="shizhiwei",Classes="classs2",Scores= new List<int> { 80,56,77} } }; // var query = students.Where(p => p.Classes == "classs1").OrderBy(p => p.Classes).GroupBy(p => p.Classes); var query = students.Where(p => p.Classes == "classs1").SingleOrDefault(); return query; } }
private void btnshowstudent_Click(object sender, EventArgs e) { var studens = LINQObject.LinqToObject.CreateStudentLamda(); dgstudents.DataSource = studens; }