110,537
社区成员
发帖
与我相关
我的任务
分享
class Program
{
static void Main(string[] args)
{
List<Person> ListP = new List<Person>()
{
new Person(){Age = 10,Name = "张三"},
new Person(){Age = 10,Name = "李四"},
new Person(){Age = 20,Name = "王二"},
new Person(){Age = 20,Name = "麻子"},
};
var ccc = ListP.GroupBy(x => x.Age);
}
}
public class Person
{
public int Age;
public string Name;
}
ccc.Where(v => v.Key == 10);
foreach (var v in ccc)
{
if (v.Key == 10)
{
MessageBox.Show("ok");
}
}
var ccc = ListP.GroupBy(x => x.Age);
foreach(var g in ccc)
{
var key = g.Key,
var arr = g.ToArray();
}
static void Main(string[] args)
{
List<Person> ListP = new List<Person>()
{
new Person(){Age = 10,Name = "张三"},
new Person(){Age = 10,Name = "李四"},
new Person(){Age = 20,Name = "王二"},
new Person(){Age = 20,Name = "麻子"},
};
var ccc = from x in ListP
group x by x.Age into g
where g.Key == 10
from p in g
select p;
foreach (var item in ccc)
{
Console.WriteLine("{0},{1}", item.Age, item.Name);
}
}
}
public class Person
{
public int Age;
public string Name;
}
这就是聪明的 Linq。而函数式的 Linq 写法只在必要时、可以少用为妙。static void Main(string[] args)
{
List<Person> ListP = new List<Person>()
{
new Person(){Age = 10,Name = "张三"},
new Person(){Age = 10,Name = "李四"},
new Person(){Age = 20,Name = "王二"},
new Person(){Age = 20,Name = "麻子"},
};
var ccc = ListP.GroupBy(x => x.Age).Where(x => x.Key == 10).SelectMany(x => x);
foreach (var item in ccc)
{
Console.WriteLine("{0},{1}", item.Age, item.Name);
}
}
}
public class Person
{
public int Age;
public string Name;
}
你可以调试一下 ccc 变量的类型,它就是 Person 的列表。namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Person> ListP = new List<Person>()
{
new Person(){Age = 10,Name = "张三"},
new Person(){Age = 10,Name = "李四"},
new Person(){Age = 20,Name = "王二"},
new Person(){Age = 20,Name = "麻子"},
};
var ccc = ListP.GroupBy(x => x.Age).ToArray();
var persons = ccc.FirstOrDefault(x => x.Key == 10).ToArray();
foreach (var item in persons)
{
Console.WriteLine("{0},{1}", item.Age, item.Name);
}
}
}
public class Person
{
public int Age;
public string Name;
}
}