linq查询语句与查询方法

vb.net中LINQ的各个实用用法 VB.NET中,LINQ(Language Integrated Query)提供了丰富的查询功能,使得编写针对各种数据源的查询变得简单且一致。:根据给定条件从数据源中筛选出符合条件的元素。假设有一个Students:对数据源中的元素进行升序或降序排序。对于一个Products。 阅读详情

linq(Language Integrated Query,语言集成查询)是微软提供的一项新技术,能够将查询功能直接引入到C#、VB.NET等编程语言中,查询操作可以通过编程语言自身来表示,而不是嵌入字符串SQL语句。

Linq to Objects 主要负责对象的查询,Linq to XML主要负责xml的查询,linq to ADO.Net 主要负责数据库的查询。

Linq所在的命名空间System.Linq.

简单实例:

int[] nums = { 1, 2, 4, 5, 3, 6, 3, 7 };
            var list = from num in nums
                       where num % 2 != 0
                       orderby num descending
                       select num;
            foreach (int item in list)
            {
                Console.WriteLine(item);
            }

输出结果:7 5 3 3 1

扩展方法Select():Select()是一个泛型扩展方法,Select()方法使用的时候,要求传递一个委托实例(委托实例就是一个方法)。Select()方法里面是一个Lambda表达式,返回结果是一个迭代器(Iterationrator),数组、泛型集合都可以使用扩展方法Select()。

int[] nums = { 1, 2, 4, 5, 3, 6, 3, 7 };
            var list = nums.Select(item => item * item);
            foreach (int item in list)
            {
                Console.WriteLine(item);
            }

where()方法

where()方法是一个扩展泛型方法,where()方法使用的时候要求传递一个委托实例,但该实例是一个判断条件,因此返回的类型必须是bool类型.

 int[] nums = { 1, 2, 4, 5, 3, 6, 3, 7 };
            var list = nums.Where(item => item % 2 == 0)
                          .Select(i => i * i);
            foreach (int item in list)
            {
                Console.WriteLine(item);
            }

排序数据:OrderBy()

OrderBy()是一个扩展方法,OrderBy()里面的参数要求传递一个排序的字段,默认按照升序排序,如果想要降序可以使用OrderByDescending方法。

 int[] nums = { 1, 2, 4, 5, 3, 6, 3, 7 };
            var list = nums.Where(num => num != 0)
                     .Select(num => num * num)
                     .OrderBy(num => num);
            foreach (int item in list)
            {
                Console.WriteLine(item);
            }

实例二:

 string[] nums = { "张勇", "张宇", "王宇", "张宇龙", "张宇州", "李白" };
            var list = nums.Where(num => num.Length == 2)
                         .Select(item => item)
                         .OrderByDescending(item => item.Substring(0, 1));
            foreach (string item in list)
            {
                Console.WriteLine(item);
            }

分组数据:GroupBy()方法

Group()是一个扩展方法,GroupBy()里面的参数要求传递一个分组字段。

string[] nums = { "张勇", "张宇", "王宇", "张宇龙", "张宇州", "李白" };
            var list = nums.Where(num => num.Length == 2)
                         .Select(item => item)
                         .GroupBy(item => item.Substring(0, 1));
            foreach (var num in list)
            {
                Console.WriteLine(num.Key );
                foreach (var item in num)
                {
                    Console.WriteLine(item);
                }
            }

LINQ查询 阅读详情

相关推荐

LINQ详解(查询表达式)

本文章主要是对C#中LINQ查询表达式的详解,讲解的还是比较全面,能够帮助初学者认识什么是LINQ,以及基础的使用LIN。同时,文章每个讲解模块还附带例程,帮助初学者更好的学习或者帮助有LINQ基础的人进行巩固,能够对LINQ认识的比较全面,但是文章也有可能有欠缺的地方,讲解的不够完善,或者有的知识点遗漏等,还希望广大的读者帮我多多指正,有了你的指正,才能让我写出更好的文章为你服务,更加的受益你我,谢谢。

草原上唱山歌的博客 2606

VB.NET LINQ各项查询操作示例

这是accessoft上,作者:煮江品茶 写的一个LINQ例子,这几天找了很多参考都不是很好,今天找到这个,感觉非常好,里面各项查询例子写的很好,特意分享。感谢原作者。http://www.accessoft.com/article-show.asp?id=9174 时 间:2014-02-22 11:44:49 作 者:煮江品茶 ID:10802 城市:武汉 摘 要:【VB.NET小品】LINQ标准操作符示例 正 文: LINQ是VS中的一个通用的数据查询技术,该技术简化了对SQL、XML等数据的查询。本示例介绍LINQ的标准查询符的使用方法

C# LINQ查询

LINQ是Language-Integrated Query的缩写,它可以视为一组语言和框架特性的集合。LINQ可以对本地对象集合或远程数据源进行结构化的类型安全的查询操作。LINQ支持查询任何实现了接口的集合类型,无论是数组、列表还是XML DOM,乃至SQL Server数据库中的数据表这种远程数据源都可以查询LINQ具有和这两大优点。

夜槿笙歌的博客 3761

vb.net 结合LINQ实现 查找数组中长度小于7的所有项并输出

''' <summary> ''' 查找数组中长度小于7的所有项并输出 ''' </summary> Private Sub Sub3() Dim strName As String() = New String() {"文道科技", "C#编程词典", "C#从基础到项目实战", "C#范例手册"} Dim selectQuery As IEnumerable(Of String) = From Name In st...

laocooon的博客 557

vbLINQ实现

vb实现LINQ非常简单的例子: Dim numbers() As Integer = {1, 2, 3, 4, 5, 6, 7} Dim allNumbers = From number In numbers For Each num In allNumbers Console.WriteLine(num &a...

dj_931127的博客 568

LINQ查询方法和使用

获取数据方法 扩展方法Select() Select()是一个泛型扩展方法 Select()方法使用的时候,要求传递一个委托实例(委托实例就是一个方法) Select()方法应用 int[] nums = { 1, 22, 18, 2, 3, 5, 7, 6, 8, 9, 23, 12 }; var list = nums.Select(i...

AbCdE_f_G的博客 892

c#--LINQ--查询语句查询方法

c#--LINQ--查询语句查询方法 转载于:https://www.cnblogs.com/macT/p/9288062.html

weixin_30237281的博客 120

C#进阶之LINQ(2)Linq查询语句查询方法

(一)Linq基础 1)Linq解决的问题 面向对象编程语言数据访问方法长期分离,以嵌入式的方式开发,例如: 编程语言中的数据类型数据库中的数据类型形成两套体系,如:C#中的字符串string 在SQL中使用NVarchar/ Varchar/ Char来表示; SQL和XML都有各自的查询语言,而对象没有自己的查询语言,如要从List<>集合或者数组中找到符合要求的元素,非常...

forever_008的博客 9744

(.NET进阶二)Linq查询语句查询方法

目录 一、Linq基础 二、LINQ查询方法 三、LINQ查询时机查询形式 四、 LINQ查询子句 五、LINQ高级查询 一、Linq基础 1.LINQ能解决什么问题? a.面向对象编程语言数据访问方法长期分离,以嵌入式的方式开发。(嵌入的SQL语句没有任何提示,易出错)如 string sql = “select * from Student where StudentI...

Tiger_shl的博客 1652

C#中Linq的使用

正文 Linq定义 如何使用Linq 两种使用方式正文Linq定义LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。 凡是某一类数据的集合都可以使用Linq,如object、DbSet(EF中)、List、数组、XML。 关键词:用于查

qq_34720759的博客 4769

谜一样的LINQ查询

LINQ查询 一、LINQ概念 1.引入LINQ(.NET存在的问题) (1)嵌入方式开发嵌入SQL语句,语句有任何提示,容易出错 (2)编程语言数据类型SQL类型完全两套体系 (3)SQL和XML都有格子查询语言,二面相对象没有自己的查询语言 ...

dust__的博客 1710

Linq查询时机查询形式

查询步骤:获取数据源、定义查询、执行查询。 观察结论:定义查询后,查询并没有立即执行,而是直到需要枚举结果(遍历)时才被真正执行,这种方式称为“延迟查询(deferred execution)”。 使用“聚合扩展方法”返回单一结果,强制查询立即执行。 int[] nums = { 1, 4, 9, 3, 2, 5, 3, 2, 3, 5 }; var list =...

小贾爱编程的博客 287

linq记录

语言集成查询

qq_42058441的博客 216

Linq查询语句

1.语言集成查询 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。 借助 LINQ查询成为了最高级的语言构造,就像类、方法和事件一样。 对于编写查询的开发者来说,LINQ 最明显的“语言集成”部分就是查询表达式。 查询表达式采用声明性 查询语法 编写而成。 使用查询语法,可以用最

weixin_55071724的博客 1653

LINQ查询语句

在关系型数据库中,数据被组织放入规范化很好的表中,并通过简单而又强大的语言SQL来进行访问,SQL可以和数据库中任何数据配合使用,因为数据被放入表中,并遵从一些严格的规则。 然而在程序中却数据库相反,保存在类对象或结构中的数据差异很大,因此,没有通用的查询语言来从数据结构中获取数据,从对象获取数据的方法一直都是作为程序的一部分而设计的,然而使用LINQ可以轻松查询对象集合。LINQ是.NET框...

寂蝶难双,窃窃思羽. 835

C#-关于LINQ及其常用语句

添加图标:LargeImageList、SmallImageList、StateImageList。控件TileSize属性设置平铺的宽高//启用平铺视图:控件Veiw属性设置为Tile//启用平铺。(用于显示带图标的选项列表):设置控件中显示方式。

rwo_bear的博客 1784
上一篇: 匿名方法与Lambda表达式
下一篇: Linq查询时机与查询形式
小贾爱编程
博客等级 码龄10年 28粉丝 46原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值