String sql = "SELECT * FROM \"table\"";
ArrayList resultList = db.SelectQuery(sql);
var query = from String p in resultList
where int.Parse(p.split(';')[0]) > 10 //假設[0] 是ID(integer)
select p;
foreach(String p in query)
MessageBox.show(p);
過往foreach寫法
List<Member> query = new List<Member>();
//例子1 搜尋Age 大於10
foreach(Member item in memberList){
if(item.Age > 10){
query.Add(item);
}
}
//例子2 搜尋特定關鍵字
foreach(var item in memberList){
if(item.Name.ToUpper() == "SUN"){
query.Add(item);
}
}
//例子3 搜尋包括特定關鍵字 並由Age小至大排序
foreach(Member item in memberList){
if(item.Age > 10 && item.Name.ToUpper().IndexOf("SUN") >= 0){
query.Add(item);
}
}
query.Sort(CompareMember);
int CompareMember(Member a, Member b){
return a.Age - b.Age;
}
LINQ的寫法
//例子1 搜尋Age 大於10
var query = form data in memberList //指定資料來源
where data.Age > 10 //條件
select data; //查詢結果
foreach(var item in query){
//TODO
}
//例子2 搜尋特定關鍵字
var query = form data in memberList //指定資料來源
where data.Name.ToUpper() == "SUN" //條件
select data; //查詢結果
foreach(var item in query){
//TODO
}
//例子3 搜尋包括特定關鍵字 並由Age小至大排序
var query = form data in memberList
where item.Age > 10 && data.Name.ToUpper().IndexOf("SUN") >= 0
orderby data.Age
select data;
foreach(var item in query){
//TODO
}