![]() |
1
7
语言集成查询的概念并不是新的,MS所说的方式是独特的和新的。 它受haskell和sql语法的影响,haskell有枚举器和延迟评估的思想,这是实现linq的核心强调原则,实际上linq只是一种语法糖。 我觉得链接是一个伟大的桥梁之间的推理,你的程序和数据的抽象和干净的方式。 |
![]() |
2
3
作为内存中集合的查询,不,这不是一个独特的特性。以F的管道前进操作器为例。它允许您编写与LINQ查询非常相似的样式操作。 例如,以下代码从字符串中提取数字并对其求和
|
![]() |
3
2
我觉得Linq很有趣。 记住,它本质上为.NET添加了强大的功能编程功能。 有趣的是,微软不必改变运行时来让linq工作,所有的魔力都是因为C 3、编译器和类库中的新语言功能,因为基本上你的查询会被内部转换为lambda语法(请参阅linqpad了解这方面的良好演示) 我相信MS开发这种技术的原因之一是为了使并行程序更容易——SQL可能因为LINQ而变得不那么重要。 |
![]() |
4
2
我想Linq.net已经开始了。现在,还有其他几种实现方式: http://en.wikipedia.org/wiki/Linq#Other_language_implementations 但如果我没记错的话,林克女士是第一个。 |
![]() |
5
2
在微软内部,在C-omega(cw)被C和VB采用之前,它开发了一种非常相似的语法。 |
![]() |
6
2
linq中的概念(其中,select,aggregate)已在lisp中用于 年 现在,这些根本不是新的。不过,C中的实现特别优雅,尤其是它如何添加一个相当具有破坏性的概念,同时又与现有的C 2.0代码完美融合。“reinterpret linq ast as sql”也相当聪明。 |
![]() |
7
2
“语言集成查询”的概念是新的吗?如果没有,还有什么其他语言实现了类似的特性 如果你认为SQL是一种语言,那就不行了。我认为MS的洞见是,类似数组的容器中的所有东西本质上都是内存中的数据库。不仅如此,对这些集合的许多操作都是相同的。程序员必须在一年中写出数百万个.selects,.wheres和.first。这些实现中的许多都有临时数组和变量,它们会使代码混乱。使用LINQ,逻辑变得更加简洁,而不需要温度/保持器变量/数组。微软用标准的LINQ操作符消除了一整类错误。 其他实现与微软的相比如何?不确定 这有点主观,但作为一个想法,其他人觉得LINQ有多重要? 我觉得Linq很可能是我见过的最具革命性的语言特性,而且我认为闭包也非常棒。它使程序更干净,程序员的工作效率更高。 |
![]() |
8
2
Linq与很多事情有关 List comprehensions 您可以在函数语言和更主流的语言(如python)中找到,在相当长的一段时间内,它一直是一个标准的、使用非常广泛的特性。 为了更好地理解列表,这个python函数取自 simple spell checker Peter Norvig
它看起来很像linq,在表达式的开头编写了(隐式)select,而不是像linq那样奇怪地在末尾。
在python中,lambda有点不受欢迎,而python中的默认列表理解也很迫切(想想
至于拥有(某种程度上)纯函数链的概念,就像其他人在这里回答的那样,它是计算机语言中最古老的概念之一(Lisp现在已经超过50了…) |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |