本文是寫給C#新手,老手就勿看了,講的實際上就是LINQ,謝謝一樓的提醒。
很多時候,從一個關系表中挑出一個我們需要的元素列表采用SQL語句是再容易不過的了,其實C#的List中也可以采用類似的方法,雖然List中集成了Select(), Where()等語句,不過如果你的判斷規則較為復雜,或者想要看起來一目了然,以下的方法也是可行的:
首先假設你有一個類
public class People { public string Name { get; set; } public int Age { get; set; } }
並且有一些初始化語句
List<People> PeopleList = new List<People>(); PeopleList.Add(new People() { Name = "Haocheng Wu", Age = 24 }); PeopleList.Add(new People() { Name = "Haocheng Wu", Age = 25 }); PeopleList.Add(new People() { Name = "James Wu", Age = 23 });
你就可以采用下面類似於SQL語句的方法進行select
List<string> SubPeopleNameList1 = (from people in PeopleList where people.Name == "Haocheng Wu" && people.Age == 24 select people.Name).ToList<string>();
當然你也可以用一行代替
List<string> SubPeopleNameList2 = PeopleList.Where(people => people.Name == "Haocheng Wu" && people.Age == 24).Select(people => people.Name).ToList();
不過顯然第一種方法更加一目了然,尤其是當判斷條件相當復雜的時候就更加有用了