LINQ简记(1):基本语法

  

关于LINQ(语言集成查询)是.NET 3.5和Visual Studio 2008以上版本中引入的一种有趣的全新概念,语言版本有VB和C#,由于C#与.NET平台结合最为紧密,也是MS当初首推的语言,因此,本系列文章的示例代码都使用C#。
MSDN上资料非常详细和完备,所以,我也不打算讲得过于详尽,再说,网上也有不少博文都阐述过LINQ,如果我还炒冷饭,就有抄袭之嫌。
其实,很多时候我们不必要到处去搜,到处去问人,MSDN上的参考文档已经很优秀了,而且还有多语言版本,也请了牛B人物进行人工翻译,所以说啊,咱们.NET开发者是非常幸运的,一来有VS这个世界级领先的开发工具(目前不好的一点是性能,据说微软正在努力解决),微软一直都希望其产品大众化,市场化,我们也看到了这个大巨头在努力完善;二来,拥有MSDN这么神奇的参考文档。我们完全有理由相信,真的是幸运的,Jdk没有这么详细完备的文档,更别说中文版;PHP也没有如此强劲的参考文档,难道,我们不应该认为,使用.NET是最轻松的吗?
噢,废话说得多了一点,还是不说了,回归正题。好的,开门见山,先说说LINQ有些啥好处,相信很多人都会先问这个问题。
SQL语句我想各位不会陌生了,在企业级应用项目中,我们是无法避免与数据库打交道,同时也说明,我们避不开要写SQL语句,这样一来,你又要抽出N多时间去学习SQL的语法和相关知识,或者,你们团队会找人专门搞数据库,或者你一个人担起这个艰巨的任务。
XQurey和XPath听过了吧,我想,很多人都用过,就算不用你也肯定听过的,除非你是当年参加抗日战争的老兵。好了,这时候又说要用XML查询了,你又要抱着一本厚厚的书去学习XML查询,你累不累?
有了LINQ就不一样了,敏捷开发自然需要一些新玩意儿来提高效率,这时候,你就爽歪歪了,改革开放的春风吹遍大江南北,LINQ的暖流也可以让我们把编程变成一种享受而不是体力活。
要干好LINQ就得从语法开始,其实和SQL很像,后面你会发现的,总体的语法规则可以归为下面两句话:
1、以from打头;
2、以select子句或group子句结尾。
是不是这样呢?少吹牛,一起来动手实践一下。
启动VS,新建一个项目,项目类型你喜欢。
要操作数据,自然少不了数据源,当然这里简单的示例,就没必要用数据库了。
轻松一点,我们来一个简单的整型数组。
  1. int[] mySource = new int[] { 20, 35, 15, 16, 72, 64, 58, 73, 99, 48 };  

现在,我们把大于等于50的整数筛选出来。
  1. IEnumerable<int> result =  
  2.     from n in mySource  
  3.     where n >= 50  
  4.     select n;  
  5. Console.WriteLine(">= 50 的数字如下:");  
  6. foreach (int i in result)  
  7. {  
  8.     Console.Write("\t{0}", i);  
  9. }  

运行一下,我们可以看到结果如下:

好了,LINQ的基本语法就说到这里,更复杂的语法,会在后面系列文章中聊。

转载于:https://www.cnblogs.com/xieweikai/p/6832842.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我认识的一位前辈~

&#xff11;.我最近认识了一个老前辈&#xff0c;关注了我的公众号加了我的好友认识的&#xff0c;我想介绍一下这位前辈&#xff0c;不是因为他有多成功&#xff0c;也不是因为他给了我很多钱&#xff0c;我觉得他是一个在平常不过的人了&#xff0c;因为太过于平凡的思考方式…

软件测试缺陷等级划分_缺陷等级的各种划分方法 - 测试新客~~小懒~~ - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

《缺陷等级标准》缺陷严重级别定义:o 最高级--导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等.o 紧急---事件非常重要,并且需要马上给予关注.o 高级---事件是重要的,并且应该在紧急的事件处理之后尽快得到解决.o 中级---事件是重要的,但是由于解决…

机器学习_决策树_ID3算法_C4.5算法_CART算法及各个算法Python实现

下面的有些叙述基于我个人理解, 可能与专业书籍描述不同, 但是最终都是表达同一个意思, 如果有不同意见的小伙伴, 请在评论区留言, 我不胜感激. 参考: 周志华-机器学习 https://blog.csdn.net/xiaohukun/article/details/78112917 https://blog.csdn.net/fuqiuai/article/d…

http数据绑定spring mvc详解

转载于:https://www.cnblogs.com/panxuejun/p/6834365.html

ESP32 入门教学,不入门,不教学

&#xff11;.Internet of things &#xff08;iot&#xff09;这个概念非常火&#xff0c;物联网是什么&#xff1f;把所有物品通过射频识别等信息传感设备与互联网连接起来&#xff0c;实现智能化识别和管理。 物联网通过智能感知、识别技术与普适计算、泛在网络的融合应用&a…

opencv检测相交点_OpenCV:曲线的检测与提取-0

//寻找曲线 &#xff1a;void findLines(Mat &binaryImg, vector> &outLines){//八邻域vector neighborPtVec;neighborPtVec.push_back(Point(-1,-1));neighborPtVec.push_back(Point(0,-1));neighborPtVec.push_back(Point(1,-1));neighborPtVec.push_back(Point(1…

一个从华为离职的朋友

1、我在之前的很多文章里面都谈到了我有一个过硬的华为朋友&#xff0c;我很少去炫耀自己有多厉害&#xff0c;认识了谁谁&#xff0c;但是我非常在意那些跟自己有过交情的朋友&#xff0c;这些朋友不是说你离开了就失去了&#xff0c;也不是你落魄了就不能吹水了&#xff0c;今…

(原)PyTorch中使用指定的GPU

转载请注明出处&#xff1a; http://www.cnblogs.com/darkknightzh/p/6836568.html PyTorch默认使用从0开始的GPU&#xff0c;如果GPU0正在运行程序&#xff0c;需要指定其他GPU。 有如下两种方法来指定需要使用的GPU。 1. 类似tensorflow指定GPU的方式&#xff0c;使用CUDA_VI…

机器学习_简单线性回归与多元回归方程原理推导_处理二值数据_最小二乘法解或梯度下降解多元回归方程(详细推导)以及Python代码实现_回归方程度量方式

下面的有些叙述基于我个人理解, 可能与专业书籍描述不同, 但是最终都是表达同一个意思, 如果有不同意见的小伙伴, 请在评论区留言, 我不胜感激. 参考: 周志华-机器学习 最小二乘法求解多元回归方程: https://blog.csdn.net/weixin_39445556/article/details/83543945 梯度下…

python逆序数的程序_计算逆序数(归并法)程序问题 (Python)

计算一个tuple里面的逆序数&#xff0c;用merge sort的办法。我写了以下代码&#xff0c;但是每次统计的时候&#xff0c;count设置为全局变量了&#xff1a;Count inversionInput: a sequence as tuple of integersOutput: The inversion number as an integer#Merge Sort Met…

手写Java线程池_超详细解说_绝对能运行_代码超详细注释

线程池 问题背景 只是单纯使用 new Thread(runnable).start(); 的方式创建线程, 将会导致严重的程序性能问题: 1.线程创建, 销毁需要消耗很大的系统资源; 2.虚拟机创建线程的数量是有限的; 2.线程调度切换也将使程序性能下降; 针对这些问题, 对线程数量进行管理, 有效地重复利…

分享一个非常 nice 的工具

最近有个问题&#xff0c;我需要经常使用远程连接工具&#xff0c;原因很简单&#xff0c;我需要控制另外一台电脑&#xff0c;我刚开始使用的是 teamviewer 这个软件&#xff0c;刚开始用的时间是非常爽的&#xff0c;不过有一天他给我来了个提示&#xff0c;说我的软件被商用…

Java并发性和多线程介绍目录

http://ifeve.com/java-concurrency-thread-directory/转载于:https://www.cnblogs.com/hanfeihanfei/p/6840359.html

js 正则是否包含某些字符串_JS 判断字符串中是否包含某个字符串(方法总结)...

我是想在js中判断字符串是否包含某个中文&#xff0c;将方法记录起来&#xff0c;这些方法也适用于数字、字母。实践是检验真理的唯一标准&#xff0c;还是要多多测试啊。String对象的方法方法一&#xff1a;indexOf()var groupName"小白A组";alert(groupName.indexO…

推荐周立功先生的一本书

1. 这篇文章主要是推荐周工的一本书&#xff0c;大家在学习嵌入式的时候&#xff0c;很多人不明白嵌入式系统和单片机的区别&#xff0c;又感觉自己对嵌入式有所了解&#xff0c;知道什么是嵌入式&#xff0c;文章里的很多见解我觉得对很多人都非常有帮助&#xff0c;今晚上周工…

图管够!灌篮高手、女儿国…阿里日_这帮程序员太会玩了!

5月10日是阿里一年一度的阿里日&#xff0c;这对阿里人来说&#xff0c;是个非常特别的日子。 那什么是阿里日呢&#xff1f;看看官方介绍&#xff1a; 它起源于2005年4月20日&#xff0c;是为了纪念2003年5月的“非典”时期阿里人的激情和信念。因此阿里巴巴决定&#xff0c;今…

复习Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节

Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节 主要内容 Object类Date类DateFormat类Calendar类System类StringBuilder类包装类 第一章 Object类 1.1 概述 java.lang.Object类是Java语言中的根类&#xff0c;即所有类的父类。它中描述的所有方法子类都…

sql 整改措施 注入_SQL注入的漏洞及解决方案

一、sql注入漏洞1. SQL注入漏洞SQL注入攻击(SQL Injection)&#xff0c;简称为注入攻击&#xff0c;SQL注入&#xff0c;被广泛用于非法获取网站控制权。这是在应用程序的数据库层中发生的安全漏洞。在设计程序中&#xff0c;忽略了对输入字符串中包含的SQL命令的检查&#xff…

check-lxdialog.sh: line 3: $'\r': command not found

问题 make all make[1]: Entering directory /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig/lxdialog/check-lxdialog.sh: line 3: $\r: command…

Qt setMargin()和setSpacing() 的含义

mainLayoutnewQVBoxLayout(this); mainLayout->setMargin(30); //表示控件与窗体的左右边距 mainLayout->setSpacing(40); //表示各个控件之间的上下间距转载于:https://www.cnblogs.com/invisible2/p/6843159.html