首页 / 知识
关于c#:我是否缺少有关LINQ的内容?
2023-04-12 19:54:00

Am I missing something about LINQ?我似乎缺少有关LINQ的东西。 对我来说,似乎正在吸收我最不喜欢的一些SQL元素,并将其移入C#语言并将其用于其他用途。 我的意思是,我可以看到在数据库以外的其他事物上使用类似SQL的语句的好处。 但是,如果我想编写SQL,为什么不只编写SQL并将其排除在C#之外呢? 我在这里想念什么? LINQ与SQL不相关。 LINQ即将在对象上应用函数式编程范例。 LINQ to SQL是在LINQ基础之上构建的ORM,但是LINQ还有很多。我不使用LINQ to SQL,但是一直使用LINQ。 承担查找两个列表的交集的任务: 在LINQ之前,此任务需要编写一个嵌套的foreach,它对大列表O(N * M)中的每个项目都对小列表进行一次迭代,并需要大约10行代码。
使用LINQ,它可以在一行代码中执行相同的操作:
您会注意到,它看起来不像LINQ,但是确实如此。如果不想,则不需要使用表达式语法。 之前:
后:
或者,(查询语法):
乔纳森(Jonathan)指出,LINQ不只是一个ORM系统,它为C#带来了许多功能性编程元素。它使您可以使用常规C#代码执行很多"数据库化"的事情。很难解释这有多么强大。考虑一下通用框架中所包含的坚固,精心设计的通用数据结构(例如列表,堆栈,字典/哈希等)在多大程度上改善了现代语言的发展状况。正是因为使用这些数据结构非常普遍,并且减少使用它们的知识开销是一个巨大的好处。 LINQ不会做您无法做的任何事情,但是它使许多操作变得更加直接和容易。 考虑一下从无序列表中删除重复项的历史悠久的示例。在使用较低级别的语言(如C或C ++)时,您可能必须在删除重复项时对列表进行排序并在列表中维护两个索引。在具有哈希值的语言(Java,C#,Javascript,Perl等)中,您可以创建一个哈希,其中键是唯一值,然后将键提取到新列表中。使用LINQ,您可以执行以下操作:
因此,关于LINQ的非常重要的事情与Linq to SQL无关。这是关于它为C#语言本身带来的增强。 因为linq实际上是sql服装中的monad,所以我在一个项目上使用linq来使用延续monad发出异步Web请求,事实证明它工作得很好!
查看以下文章: 从第一篇文章开始:
关键是LINQ将您的查询集成到您的主要编程语言中,从而使您的IDE可以为您提供您原本不具备的一些功能(例如,Intellisense和调试支持),并允许编译器对SQL进行类型检查。代码(对于普通的字符串查询是不可能的)。 |
最新内容
相关内容
python字典怎么加元素
python字典怎么加元素,培训,代码,字典,数学,语文,元素,赋值,语法,演示,下面,python字典中的元素是键值对存在的,且键一定是唯一的,但是值不必是pythonfor语句怎么写
pythonfor语句怎么写,培训,项目,嵌套,内层,外层,循环体,序列,变量,语句,示例,pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串pythonc语言取余和python取余的区
pythonc语言取余和python取余的区别,培训,资料,语言,负数,区别,被除数,符号,除数,规定,余数,今天看书发现python与C的负数取余运算结果不同,python一行多条语句怎么写
python一行多条语句怎么写,培训,代码,情况,语句,括号,末尾,空格,字符串,也就是,下面,在实际的开发过程中,换行编写代码是经常遇到的情况,下面来python怎么获取列表元素的索引
python怎么获取列表元素的索引,培训,索引,元素,结果,列表,方法,中值,本文,下面,以上,本文主要介绍了python中如何获取列表的索引,以及如何返回pythonPython和r语言的区别
pythonPython和r语言的区别,数据,分析,流程,培训,工具,系统,服务,平台,代码,语言,Python与R语言的共同特点1.Python和R在数据分析和数据挖掘pythonpython是函数式语言吗
pythonpython是函数式语言吗,培训,代码,函数,概念,指数,状态,语言,变量,计算机,程度,函数是Python内建支持的一种封装,我们通过把大段代码拆成python怎么判断元素类型
python怎么判断元素类型,培训,类型,函数,实例,元素,对象,字符串,变量,字典,语法,Python中的元素类型常见的有列表,字典,元组,字符串,布尔值,Nonepythonlist怎么添加元素
pythonlist怎么添加元素,培训,代码,元素,列表,方法,嵌套,情形,后面,以上,参数,pythonlist列表增加元素可调用列表的append()方法,该方法会把传pythonpass语句是什么意思
pythonpass语句是什么意思,培训,语句,程序,个位,整数,情形,上面,事情,以上,更多,很多程序都提供了“空语句”支持,Python也不例外,Python的passpython怎么删除里表中的前几个元素
python怎么删除里表中的前几个元素,培训,元素,索引,根据,范围内,尾部,时会,所在位置,除此之外,数据类型,列表是python语言中最基本的数据类型python编程语言有什么用途
python编程语言有什么用途,设计,大规模,软件,培训,数据,平台,工具,生产,面临,通用,Python是一门简单易学的编程语言。阅读好的Python程序感觉