Linq To List 集合查詢
//Linq對集合的各種查詢
public static void Run()
{
List<Customers> customerlist = new List<Customers>();
customerlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
customerlist.Add(new Customers() { id = 4, Name = "Qiao", Custom = "Apple" });
customerlist.Add(new Customers() { id = 5, Name = "Adb", Custom = "Adobe" });
//簡單的查詢
var customerQuery = from query in customerlist
select query;
//帶where篩選
var customerWhereQuery = from query in customerlist
where query.id == 1 && query.Name == "Lus"
select query;
//排序Ordering
var customerOrderingQuery = from query in customerlist
where query.Name == "Lus"
orderby query.id ascending
select query;
//分組Group by
var customerGroupbyQuery = from query in customerlist
group query by query.Name;
//可以使用into進一步查詢
var customerGroupbyIntoQuery = from query in customerlist
group query by query.Name into queryGroup
where queryGroup.Key == "Qiao"
select queryGroup;
//聯接查詢 join 子句始終針對對象集合而非直接針對數據庫表運行。
List<Customers> customerJoinlist = new List<Customers>();
customerJoinlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerJoinlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerJoinlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
var customerJoinQuery = from query1 in customerlist
join query2 in customerJoinlist
on query1.id equals query2.id
select new { CustomerName = query1.Name, CustomerName2 = query2.Name };
//數據源的類型參數始終爲查詢中的範圍變量的類型。
//比如List<Customers> 類型爲Customers 在循環迭代的時候類型必須可以隱式轉換爲Customer 有一種情況是
//這種情況下Customers類型轉換爲了String ..在select query.Name已經將查詢目標類型定位了String類型
var customerTypeQuery = from query in customerlist
where query.Name == "Lus"
select query.Name;
//結合Lamdba對List集合篩選(s => s.Name == "Qiao")
List<Customers> listString = customerlist.Where(s => s.Name == "Qiao").ToList();
}
}
public class Customers
{
public int id { get; set; }
public string Name { get; set; }
public string Custom { get; set; }
}
public static void Run()
{
List<Customers> customerlist = new List<Customers>();
customerlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
customerlist.Add(new Customers() { id = 4, Name = "Qiao", Custom = "Apple" });
customerlist.Add(new Customers() { id = 5, Name = "Adb", Custom = "Adobe" });
//簡單的查詢
var customerQuery = from query in customerlist
select query;
//帶where篩選
var customerWhereQuery = from query in customerlist
where query.id == 1 && query.Name == "Lus"
select query;
//排序Ordering
var customerOrderingQuery = from query in customerlist
where query.Name == "Lus"
orderby query.id ascending
select query;
//分組Group by
var customerGroupbyQuery = from query in customerlist
group query by query.Name;
//可以使用into進一步查詢
var customerGroupbyIntoQuery = from query in customerlist
group query by query.Name into queryGroup
where queryGroup.Key == "Qiao"
select queryGroup;
//聯接查詢 join 子句始終針對對象集合而非直接針對數據庫表運行。
List<Customers> customerJoinlist = new List<Customers>();
customerJoinlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerJoinlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerJoinlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
var customerJoinQuery = from query1 in customerlist
join query2 in customerJoinlist
on query1.id equals query2.id
select new { CustomerName = query1.Name, CustomerName2 = query2.Name };
//數據源的類型參數始終爲查詢中的範圍變量的類型。
//比如List<Customers> 類型爲Customers 在循環迭代的時候類型必須可以隱式轉換爲Customer 有一種情況是
//這種情況下Customers類型轉換爲了String ..在select query.Name已經將查詢目標類型定位了String類型
var customerTypeQuery = from query in customerlist
where query.Name == "Lus"
select query.Name;
//結合Lamdba對List集合篩選(s => s.Name == "Qiao")
List<Customers> listString = customerlist.Where(s => s.Name == "Qiao").ToList();
}
}
public class Customers
{
public int id { get; set; }
public string Name { get; set; }
public string Custom { get; set; }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.