使用 LINQ 查询数据
使用 LINQ(语言集成查询)简化复杂的数据查询
使用 LINQ 查询数据 是 CoddyKit 上的免费 C# Academy 课时。 这是第 5 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 5 节课。
LINQ 简介
使用 LINQ 查询数据
欢迎来到下一课!在本课中,您将学习 LINQ(语言集成查询)。LINQ 是 C# 中的一项强大功能,可以简化数据查询和操作。让我们开始吧!

什么是 LINQ
什么是 LINQ?
LINQ(语言集成查询)是 C# 中的一组功能,为查询各种来源的数据提供了一种一致的方式,例如集合、数据库和 XML 等。
要点:LINQ 将数据查询集成到 C# 语法中,使其直观易用。
LINQ 基本查询
LINQ 基本查询
LINQ 查询可以使用查询语法或方法语法编写。示例:
提示:为了提高可读性,请使用查询语法;需要灵活性时,请使用方法语法。
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// LINQ query syntax
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
Console.WriteLine("Even Numbers:");
foreach (var num in evenNumbers) {
Console.WriteLine(num);
}
}
}
使用方法语法的 LINQ
使用方法语法的 LINQ
方法语法是编写 LINQ 查询的另一种方式,它使用扩展方法。示例:
要点:对于更复杂的查询,通常使用方法语法。
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// LINQ method syntax
var evenNumbers = numbers.Where(num => num % 2 == 0);
Console.WriteLine("Even Numbers:");
foreach (var num in evenNumbers) {
Console.WriteLine(num);
}
}
}
在集合中使用 LINQ
在集合中使用 LINQ
LINQ 可以与列表等集合无缝协作。示例:
提示:将 LINQ 用于集合,可以简化数据操作任务。
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David" };
// LINQ query to filter names
var filteredNames = names.Where(name => name.StartsWith("C"));
Console.WriteLine("Names starting with 'C':");
foreach (var name in filteredNames) {
Console.WriteLine(name);
}
}
}
使用 LINQ 排序数据
使用 LINQ 排序数据
使用 OrderBy 和 OrderByDescending 对数据进行排序。示例:
要点:LINQ 可以让排序操作变得简单直观。
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 5, 1, 8, 3, 9 };
// LINQ query to sort numbers
var sortedNumbers = numbers.OrderBy(num => num);
Console.WriteLine("Sorted Numbers:");
foreach (var num in sortedNumbers) {
Console.WriteLine(num);
}
}
}
练习挑战
练习挑战
创建一个程序,按价格筛选产品列表,按名称对产品排序,并使用 LINQ 显示结果。示例:
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
var products = new List<Product> {
new Product { Name = "Laptop", Price = 1000 },
new Product { Name = "Phone", Price = 500 },
new Product { Name = "Tablet", Price = 300 }
};
// LINQ query to filter and sort products
var filteredProducts = products
.Where(p => p.Price > 400)
.OrderBy(p => p.Name);
Console.WriteLine("Filtered and Sorted Products:");
foreach (var product in filteredProducts) {
Console.WriteLine($"{product.Name}: ${product.Price}");
}
}
}
class Product {
public string Name { get; set; }
public double Price { get; set; }
}
使用 LINQ 的最佳实践
使用 LINQ 的最佳实践
以下是一些最佳实践:
- 使用 LINQ 编写简洁易读的查询。
- 对于复杂查询,优先使用方法语法。
- 将 LINQ 与 Lambda 表达式结合,以实现强大的数据操作。
提示:使用不同的数据测试 LINQ 查询,以确保结果准确。
LINQ 回顾
做得很好!
恭喜您!您已经学会了如何使用 LINQ 在 C# 中查询和操作数据。本课结束后,“使用文件和数据”类别也就完成了。让我们继续迎接新的挑战吧!

常见问题解答
「使用 LINQ 查询数据」课时是免费的吗?
是的 — 「使用 LINQ 查询数据」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 5 节课。
「使用 LINQ 查询数据」这节课中我会学到什么?
使用 LINQ(语言集成查询)简化复杂的数据查询 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 5 节课,共 5 节。
「使用 LINQ 查询数据」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 读取和写入文件
- 使用 JSON 和 XML
- 理解异常处理
- 使用数据库
- 使用 LINQ 查询数据