查询语言我们了解很多,大体上他们的思路语言都是相同的,linq也不难,只是我们把它想的太复杂了而已。Linq语言集成化查询
基础:1,泛型 2,lambda
from 元素 in 集合
where 元素条件
orderby 元素.属性 ascending
group 元素 by 元素.属性
select 元素
看段练习吧...
//查询出集合中年龄大于25的学生
//查询出集合中年龄大于25,且以“哈”字开头的学生
using System;
using System.Linq;
using System.Collections.Generic;
public class studyLinq
{
public static void Main()
{
/*获取他们的扩展名*/
string file = "sdfhue.gawei.ge..gaew.html";
Console.WriteLine(file.GetFileType());
string ttt= "dfhue,ge.dfe.mp3";
Console.WriteLine(ttt.GetFileType());
List<Student> list = new List<Student>();
list.Add(new Student(){Age=10,Name="Jack"});
list.Add(new Student(){Age=67,Name="Mack"});
list.Add(new Student(){Age=23,Name="Dack"});
list.Add(new Student(){Age=26,Name="哈密瓜"});
list.Add(new Student(){Age=8,Name="Eack"});
list.Add(new Student(){Age=34,Name="Hack"});
list.Add(new Student(){Age=18,Name="小红"});
//查询出集合中年龄大于25的学生
IEnumerable<Student> result = list.Where<Student>(p=>p.Age>25);
foreach(Student s in result)
{
Console.WriteLine(s.Age +" "+ s.Name);
}
//查询出集合中年龄大于25,且以“哈”字开头的学生
IEnumerable<Student> result1 = list.Where(p => p.Age>25 &&p.Name.StartsWith("哈"));
foreach(Student dd in result1)
{
Console.WriteLine(dd.Name + " " + dd.Age);
}
}
public static void Test()
{
int[] a = {2,3,5,6,7,29,34,45,85,8,9,54,54,56,5};
//var c = a.Where(p=>{return p>20});
IEnumerable<int> c = a.Where(p=> p>20);
foreach(int d in c)
{
Console.WriteLine(d);
}
}
}
public class Student
{
public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
}
public static class ExetendMethod
{
public static string GetFileType(this string str)
{
string[] strs = str.Split('.');
return strs[strs.Length-1];
}
}