• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > linq语法基础使用示例

linq语法基础使用示例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了linq示例,c linq语法,linq语法,linq语法大全,linq查询语法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据。从技术角度而言,LINQ定义了大约40个查询操作符,如from, select, in, where, group by, orderby, … 使用这些操作符可以编写查询语句。

做软件的,总想代码要怎么样才能更好地复用,要怎么样才更利于扩展,要怎么样更能以不变应万变。就如同微软框架所提供的API一样,在一定程度上避免开发者重复造轮子。拿LINQ来说吧,.NET Framework3.5及之后的版本都已经封装进去,供成千上百万的开发者使用。同一套LINQ语法,它能支持LINQ TO OBJECCT、LINQ TO XML、LINQ TO DATABASE。复用、减少开发工作量及降低学习成本等好处都是不言而喻的。LINQ的学习很像SQL,所以有使用过SQL语句的话,感觉还是蛮熟悉的。

上手简单是学习LINQ的一大好处,语法很像SQL语句的语法。而且学一种技术,可以当多种技术来使用。这是不是很像那种多功能刀,一刀在手,生活无忧。LINQ支持集合、XML、数据库的查询。写代码就像说话,多必失,所以呢,尽量优化自己的代码。这不但有利于减少错误的发生,也有利于提高生产率、降低维护的成本。而使用LINQ也是奔着这个方向发展。

坦白说,我看到网上有很多LINQ方面的教程,知识面介绍都挺好。我只能是厚着脸皮,站在巨人的肩膀上驰骋。本文基本是源于博友08年的文章,感觉他写的很好。虽然抄袭是很可耻的行为,但是回想大学能顺利毕业,论文也是东抄一块,西抄一块。所以现在我是很“蛋定”了。我要响应鲁老爷的拿来主义精神。

LINQ是一种查询语言,所以呢,运用的场景当然也就是查询罗。查哪些,包括LINQ TO OBJECCT、LINQ TO XML、LINQ TO DATABASE。可以说查询的范围很广。每一种都可以出一系列的文章,我们这里主要还是讲 LINQ TO OBJECCT。

来看看从集合中,我们是怎么来查询需要的值。

namespace LinqApplication
{
    class People
    {
        /// <summary>
        /// 名字
        /// </summary>
        public string FirstName { get; set; }
        /// <summary>
        /// 姓氏
        /// </summary>
        public string LastName { get; set; }
        /// <summary>
        /// 国家
        /// </summary>
        public string Country { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {

            List<People> listPeople = new List<People>()
            {
                new People{FirstName="Peter",LastName="Zhang",Country="China"},
                new People{FirstName="Alan",LastName="Guo",Country="Japan"},
                new People{FirstName="Linda",LastName="Tang",Country="China"}
            };
            List<People> result = new List<People>();

            foreach (People p in listPeople)
            {
                if (p.Country == "China")
                {
                    result.Add(p);

                }
            }

            foreach(People p in result)
            {
                Console.WriteLine("Your name is :" + p.FirstName + " " + p.LastName);
            }
            Console.ReadKey();
        }
    }
}
</div>

上面的方法可以说是最直接,最容易想到的方法。上面的实现怎么看也没有觉得有什么好复用的,但是事实是怎么样?就有牛人看出了名堂,善于归纳上面的问题就是判断是跟不是的问题,就想到要去提出来,供以后复用。 当然复用之路也不是一蹴而就的,也是日积月累而成。所以我们也来看看过渡的过程。

如果说只是如下方式来实现的话,那还真是白费力气了。

但是结合到委托的话,我们就可以把IsExist(People p)当成一个参数来进行传递。这里我们过渡再快一点,我们把查询的那一段代码提到另一类Helper供以后得用。我们来看看Helper类的代码实现。限于篇幅的问题,只截Helper类的方法。


        /// <summary>
        /// 获取满足条件的数据
         /// </summary>
       

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用linq to xml修改app.config示例(linq读取xml)
  • linq语法基础使用示例

相关文章

  • 2017-05-28C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)
  • 2017-05-28Dictionary扩展基础类向字典中添加键和值
  • 2017-05-28C#学习基础概念二十五问续2第1/2页
  • 2017-05-28C#中const 和 readonly 修饰符的用法详解
  • 2017-05-28使用C#发送Http请求实现模拟登陆实例
  • 2017-05-28c#简单工厂、工厂方法与抽象工厂的区别分析
  • 2017-05-28C#不可变类型深入解析
  • 2017-05-28winform 中显示异步下载的图片
  • 2017-05-28C#中创建PDF网格并插入图片的方法
  • 2017-05-28C#中WebClient实现文件下载

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#语言主要特性总结
    • C#双缓冲技术实例详解
    • C#实现文件上传与下载功能实例
    • C#采用OpenXml实现给word文档添加文字
    • 浅析C#中结构与类的区别
    • C#获取所有SQL Server数据库名称的方法
    • C#中Invoke 和 BeginInvoke 的真正涵义
    • C#拼图游戏编写代码(2)
    • C#使用round函数四舍五入的方法
    • 如何在datatable中使用groupby进行分组统计

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有