gpt4 book ai didi

c# - LINQ 运算符和 LINQ 关键字之间的区别

转载 作者:行者123 更新时间:2023-11-30 22:26:13 26 4
gpt4 key购买 nike

在 Calvert 和 Kulkarni 合着的“Essential LINQ”一书中,同时使用了术语“LINQ 运算符”和“LINQ 关键字”。这两个术语有什么区别?

最佳答案

Operators 是 IEnumerable 接口(interface)上的一组扩展方法,提供查询功能,包括:过滤、投影、聚合、排序。它们可以应用于任何枚举和集合。

关键字 是一组添加到语言(语言扩展)本身(C# 或 VB)的关键字,用于构造 LINQ expression , 在引擎盖关键字下调用相应的运算符。并非所有运算符都有相应的关键字,只有一些更常用的标准查询运算符具有专用的 C# 和 Visual Basic 语言关键字语法,使它们能够作为查询表达式的一部分进行调用

因此,两者之间的区别在于它们赋予代码的不同形式(视觉影响),在幕后调用相同的方法(运算符扩展方法).

来自 msdn 的示例:

       string sentence = "the quick brown fox jumps over the lazy dog";
// Split the string into individual words to create a collection.
string[] words = sentence.Split(' ');

// Using query expression syntax.
var query = from word in words
group word.ToUpper() by word.Length into gr
orderby gr.Key
select new { Length = gr.Key, Words = gr };

// Using method-based query syntax.
var query2 = words.
GroupBy(w => w.Length, w => w.ToUpper()).
Select(g => new { Length = g.Key, Words = g }).
OrderBy(o => o.Length);

关于c# - LINQ 运算符和 LINQ 关键字之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11992183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com