测试用的class。
public class user { private string firstName; private string lastName; public string FirstName { get { return this.firstName; } private set { } } public string LastName { get { return this.lastName; } private set { } } public user(string firstName, string lastName) { this.firstName = firstName; this.lastName = lastName; } }
LinQ的例子:
//准备数据。 user[] Users = new user[3]; Users[0] = new user(lastName: "Liu", firstName: "Andy"); Users[1] = new user(lastName: "Gao", firstName: "Shan"); Users[2] = new user(lastName: "Liu", firstName: "Patrick"); //使用LinQ来去。意思是在Users, 把Users符合条件的记录,以LastName为group,放在usergroup里。然后把usergroup返回给newUsers var newUsers = from u in Users group u by u.LastName into usergroup select usergroup; //循环显示。 foreach (var a in newUsers) //a是group来的。可能包含不止一个记录。 { foreach(user b in a) //再次循环,把a包含的循环拿出来。这里的b是user对象了。 MessageBox.Show(String.Format("{0},{1}",b.LastName, b.FirstName)); }
public class user { private string firstName; private string lastName; public string FirstName { get { return this.firstName; } private set { } } public string LastName { get { return this.lastName; } private set { } } public user(string firstName, string lastName) { this.firstName = firstName; this.lastName = lastName; } }
LinQ的例子:
//准备数据。 user[] Users = new user[3]; Users[0] = new user(lastName: "Liu", firstName: "Andy"); Users[1] = new user(lastName: "Gao", firstName: "Shan"); Users[2] = new user(lastName: "Liu", firstName: "Patrick"); //使用LinQ来去。意思是在Users, 把Users符合条件的记录,以LastName为group,放在usergroup里。然后把usergroup返回给newUsers var newUsers = from u in Users group u by u.LastName into usergroup select usergroup; //循环显示。 foreach (var a in newUsers) //a是group来的。可能包含不止一个记录。 { foreach(user b in a) //再次循环,把a包含的循环拿出来。这里的b是user对象了。 MessageBox.Show(String.Format("{0},{1}",b.LastName, b.FirstName)); }