10人参与 • 2025-10-21 • Asp.net
linq (language integrated query) 是 c# 中用于数据查询的语法,可以查询各种数据源(数组、集合、数据库等)。
from 变量 in 数据源 where 条件 orderby 字段 select 结果
数据源.方法(参数 => 表达式)
// 查询表达式
var result = from num in numbers
where num > 5
select num;
// 方法语法
var result = numbers.where(num => num > 5);// 升序
var result = numbers.orderby(num => num);
// 降序
var result = numbers.orderbydescending(num => num);
// 多字段排序
var result = students.orderby(s => s.age)
.thenby(s => s.name);// 选择特定字段
var names = students.select(s => s.name);
// 创建新对象
var studentinfo = students.select(s => new {
name = s.name,
age = s.age
});// 取前n个 var top3 = numbers.take(3); // 跳过前n个 var afterfirst3 = numbers.skip(3); // 判断是否存在 bool haseven = numbers.any(n => n % 2 == 0); // 判断是否所有元素都满足条件 bool allpositive = numbers.all(n => n > 0); // 获取第一个元素 var first = numbers.first(); // 获取最后一个元素 var last = numbers.last(); // 计数 int count = numbers.count(); // 求和 int sum = numbers.sum(); // 最大值 int max = numbers.max(); // 最小值 int min = numbers.min(); // 平均值 double average = numbers.average();
class student
{
public string name { get; set; }
public int age { get; set; }
public int score { get; set; }
}
list<student> students = new list<student>
{
new student { name = "alice", age = 20, score = 85 },
new student { name = "bob", age = 22, score = 90 },
new student { name = "charlie", age = 19, score = 78 }
};// 1. 筛选年龄大于20的学生
var olderstudents = students.where(s => s.age > 20);
// 2. 按分数降序排序
var sortedbyscore = students.orderbydescending(s => s.score);
// 3. 选择学生姓名和分数
var namescores = students.select(s => new {
s.name,
s.score
});
// 4. 获取分数最高的学生
var topstudent = students.orderbydescending(s => s.score).first();
// 5. 计算平均分
var averagescore = students.average(s => s.score);
// 6. 分组查询
var groupbyage = students.groupby(s => s.age);csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// 获取偶数
var evennumbers = numbers.where(n => n % 2 == 0);
// 平方每个数
var squares = numbers.select(n => n * n);
// 获取大于5的数并排序
var result = numbers.where(n => n > 5)
.orderby(n => n);string[] names = { "alice", "bob", "charlie", "david" };
// 查找以a开头的名字
var anames = names.where(name => name.startswith("a"));
// 按长度排序
var sortedbylength = names.orderby(name => name.length);到此这篇关于c# linq常用语法的文章就介绍到这了,更多相关c# linq语法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论