Linq支援主要的查詢:
1、對象集合(IEnumerable或者IEnumerable<T>)
2、SQL資料庫
3、XML文檔
先對對象集合做一個解釋:
查詢的是集合,包括List<T>,Dictionay<T,K>,HashTable<T>,ArrayList這些集合都繼承了IEnumerable接口。
public void Test1()
{
List<string> names = new List<string>();
Dictionary<string, int> per = new Dictionary<string, int>();
Hashtable ht = new Hashtable();
ArrayList al = new ArrayList();
}
對弱變量類型var簡單使用
public void Test2()
{
string name = "Messi";
int age = 20;
Console.WriteLine(name);
Console.WriteLine(age);
var name1 = "kaka";
var age1 = 18;
Console.WriteLine(name1);
Console.WriteLine(age1);
}
舉例使用Linq查詢和一般查詢的差別:其實Linq查詢在很大程度上和資料庫的sql語句功能相似,文法也有很多相同的地方
class Demo2
{
List<Employ> empArray;
List<EmpLevel> empLevelArray;
List<Employ> empResult;
public Demo2()
{
empArray = new List<Employ>();
empLevelArray = new List<EmpLevel>();
empResult = new List<Employ>();
//雇員資訊初始化
empArray.Add(new Employ(1, "梅西", 32, 10));
empArray.Add(new Employ(2, "内馬爾", 27, 8));
empArray.Add(new Employ(3, "卡瓦尼", 32, 5));
empArray.Add(new Employ(4, "德布勞内", 32, 6));
empArray.Add(new Employ(5, "馬内", 32, 2));
empArray.Add(new Employ(6, "卡卡", 32, 9));
//雇員等級初始化
empLevelArray.Add(new EmpLevel(1,1,"一級實習",3000));
empLevelArray.Add(new EmpLevel(2, 2, "二級見習", 5000));
empLevelArray.Add(new EmpLevel(3, 3, "三級菜鳥", 8000));
empLevelArray.Add(new EmpLevel(4, 3, "四級新手", 10000));
empLevelArray.Add(new EmpLevel(5, 4, "五級員工", 30000));
empLevelArray.Add(new EmpLevel(6, 5, "六級老手", 50000));
}
/// <summary>
/// 一般查詢方法
/// </summary>
public void Test1()
{
foreach (Employ item in empArray)
{
if (item.LevelNum > 5)
empResult.Add(item);
}
foreach (Employ item in empResult)
{
Console.WriteLine(item);
}
}
/// <summary>
/// Linq查詢方法
/// </summary>
public void Test2()
{
var result = from e in empArray
where e.LevelNum>6
select e.Name;
foreach (var item in result)
{
Console.WriteLine(item);
}
}
static void Main(string[] args)
{
Demo2 obj = new Demo2();
obj.Test2();
}
}
轉載于:https://www.cnblogs.com/Optimism/p/10487283.html