LINQ使用案例
LINQ,全称为语言集成查询(Language Integrated Query),是.NET平台中的一项技术,通过使用可嵌入到C#和VB两种语言中的查询表达式,开发人员可以通过简单、一致的语法来查询各种数据源。
示例一:从数组中查询
以下是一个从整数数组中查询奇数的示例,使用LINQ语法查询:
int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var oddNumbers = from n in numbers
where n % 2 == 1
select n;
Console.WriteLine("奇数:");
foreach (var odd in oddNumbers)
{
Console.WriteLine(odd);
}
在这个例子中,我们定义了一个整数数组“numbers”,然后使用LINQ语句从该数组中选择奇数。特别地,从“numbers”数组中的每个元素“n”中选取满足“n % 2 == 1”的元素。最终,我们将选取的奇数打印到控制台上。
示例二:从XML文档中查询
以下是一个从XML文档中查询元素的示例,使用LINQ to XML语法查询:
//加载XML文档
XDocument xmlDocument = XDocument.Load("example.xml");
//查询所有<book>元素
var books = from b in xmlDocument.Descendants("book")
select new {
Title = b.Element("title").Value,
Author = b.Element("author").Value,
Publisher = b.Element("publisher")?.Value ?? "Unknown Publisher"
};
//打印结果
foreach (var book in books)
{
Console.WriteLine("Title: {0}, Author: {1}, Publisher:{2}", book.Title, book.Author, book.Publisher);
}
在这个例子中,我们先加载一个XML文档“example.xml”,然后使用LINQ to XML语句从该文档中选择所有的“book”元素。我们使用“select”关键字创建一个“books”序列,其中每个元素都是一个包含书籍信息的匿名对象。 最后,我们将查询结果打印到控制台上。
在这个示例中,我们还演示了一种特殊的LINQ技术:空合并运算符(??)。当该元素不存在时,我们可以使用“publisher”元素的值。但是,如果“publisher”元素不存在,就会返回null。因此,使用“publisher”中的值时需要使用空合并运算符“??”在其后面再指定一个默认值,这里是“Unknown Publisher”。
总结
以上就是两个使用LINQ的案例,它们演示了LINQ在从数组和XML文档中查询数据时的威力和灵活性。以后,在使用C#或VB.NET开发过程中,我们可以随时使用这些查询语句,从各种不同的数据源中快速、灵活地获取所需结果,这将大大加速开发过程,提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:LINQ(语言集成查询)使用案例 - Python技术站