本文主要讲解的是linq的查询用法。
采用的数据
//定义数组man
var man = new[]
{
new{name="忘清水",age="25",sex="男",num=14},
new{name="不了解",age="19",sex="女",num=25},
new{name="煽情弟",age="19",sex="男",num=98},
new{name="懒得理",age="24",sex="女",num=100},
};
一、简单的条件查询
var query1 = (from s in man
where s.sex=="女"
orderby s.name descending,,orderby s.num
select s.num
).Take(1).ToList();
以上只是一个简单的例子,可以根据自己要求进行修改,需要几点注意的如下。使用Take方法提取某几个
注意几点:
- linq和sql的一些区别,select放在最后,条件使用==,字符串最好使用""
- 最后的生成的数据,最好变成list方便使用
二、组内排序
//创建查询
var query = (from s in man
orderby s.age descending, s.num descending
group s by s.sex);
//var query = (from s in man
// orderby s.age descending, s.num descending
// group s by new {s.sex,s.name} into g
// select new {
// g.Key,
// total=g.Sum(p=>p.age)
// }
// );
//执行查询并输出
textBox1.Text = "";
foreach(var group in query)
{
//输出分组依据
textBox1.Text += grp.Key + "\r\n";
foreach(var m in grp)
{
textBox1.Text += m.ToString()+ "\r\n";
break;
}
}
以上的思路:先进行分组使用group by (注意语法),然后使用foreach对组内进行遍历得到指定的列表