C#数据操作LINQ

Linq是language integrated query的缩写,即“语言集成查询”之意。

Linq主要包含四个组件,Linq to object、Linq to XML、Linq to Dataset和Linq to SQL。本文仅涉及前两个。

代码示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace Linq
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化要查询的数据
            List<int> inputArray = new List<int>();
            for (int i = 0; i < 10; i++)
            {
                inputArray.Add(i);
            }
            Console.WriteLine("使用Linq方法来对集合对象查询,查询结果为:");
            LinqQuery(inputArray);

            Console.WriteLine("\n\r使用Linq方法来查询xml:\n");
            LinqToXML();
            Console.ReadKey();
        }
        //使用linq返回集合中为偶数的元素
        private static void LinqQuery(List<int> collection)
        {
            var queryResult = from item in collection
                              where item % 2 == 0 || item == 3//组合查询条件
                              orderby item descending//倒序排序
                              select item;
            //输出结果
            foreach (var item in queryResult)
            {
                Console.WriteLine(item.ToString() + "  ");
            }
        }
        //初始化xml数据
        private static string xmlstring =
             @"<books>
              <book>
              <author>Jack Herrington</author>
              <title>PHP Hacks</title>
              <publisher>O‘Reilly</publisher>
              </book>
              <book>
              <author>Jack Herrington</author>
              <title>Podcasting Hacks</title>
              <publisher>O‘Reilly</publisher>
              </book>
              <book>
              <author>藏锋</author>
              <title>深入在线工具</title>
              <publisher>啦啦啦出版社</publisher>
              </book>
              </books>";
        /// <summary>
        /// 使用Linq对XML文件进行查询
        /// </summary>
        private static void LinqToXML()
        {
            //导入xml
            XElement xmlDoc = XElement.Parse(xmlstring);

            //创建查询,获取作者为“王小为”的元素
            var queryResult = from element in xmlDoc.Elements("book")
                              where element.Element("author").Value == "藏锋"
                              select element;

            //输出查询结果
            foreach (var item in queryResult)
            {
                Console.WriteLine("书名:" + item.Element("title").Value + " 作者:" + item.Element("author").Value + " 出版社:" + item.Element("publisher").Value);
            }
        }
    }
}

执行结果:

时间: 2024-12-13 15:03:40

C#数据操作LINQ的相关文章

8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 本人的实验环境是VS 2013 Update 5,windows 10,MSSQL Server 2008. 上一篇<Code First开发系列之领域建模和管理实体关系>,我们主要介绍了EF中“约定大于配置”的概念,如何创建数据

Atitit.数据操作dsl 的设计 ---linq 方案

1.1. sql与api方式1 1.2. Linq方案与stream方案的选择,1 1.3. 前缀表达式 vs 中缀表达式1 1.4. 要不要字符串分隔符1 1.5. 尽可能的兼容sql标准2 1.6. 多数据源的支持2 1.7. 结论2 1.8. 最终结果如下2 1.1. sql与api方式 对于数据操作,目前常用的俩中方案sql与api方式,api里面又分为linq方案与stream方案.. 一下是他们的比较原则上,以人类可读性为优先.Sql的可读性是最强的,单他的机器可读性就是最差的...

Silverlight 2 (beta1)数据操作(6)——使用LINQ to SQL进行数据CRUD操作(下)

Silverlight客户端实现 这个部分主要完成Silverlight客户端的操作,首先引用WCF服务,然后在Page页面中,我们使用DataGrid控件来实现对数据的绑定,另外,添加一个用户控件实现增加.删除.修改操作处理.下面一步一步来实现这些步骤吧. 第一步:引用WCF服务 第二步:添加一个用户控件 第三步:编辑用户控件界面 为了演示方面,我没有做任何的界面美化,仅仅把数据库相应的字段在TextBox上实现双向绑定,即在任何时候都可以同时更新源数据和目标.提供了保存,删除,添加按钮实现数

【开源】OSharp框架解说系列(2.2):EasyUI复杂布局及数据操作

一.目录 一.目录 二.EasyUI复杂布局 三.EasyUI动态工具栏 四.EasyUI增删改操作 五.开源说明 系列导航 二.EasyUI复杂布局 接上篇,前面我们已经定义了一个 datagrid父视图 _DataGridLayout.cshtml,实现一个表格是相当的容易.但是,实际业务中,并非所有的数据列表并非只是单一的datagrid列表,还可能需要把datagrid与其他组件配合使用,比如角色信息是来源于各个组织机构的,就需要增加一个组织机构的分类,来更好的管理各种角色.最终效果图如

Farseer.net轻量级开源框架 V1.x 入门篇:表的数据操作

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 V1.x 入门篇:表实体类映射 下一篇:Farseer.net轻量级开源框架 V1.x 入门篇:视图实体类映射 前言 先跟大家抱歉下,教程迟迟没有更新,因为一个人的精力实在有限(借口?好吧,我认了). 想要Farseer.Net发展的更好,需要认真.客观解读群里朋友们的建议,实际上也确实是这样,有些思想.功能自己确实没想到(必境我自己所能接触的业务场景是非常有限的). 当然在考虑Farse

EF实体框架数据操作基类(转)

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Data.Entity.Infrastruct

EF实体框架数据操作接口(转)

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Linq;using System.Linq.

EF实体框架数据操作接口

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Linq;using System.Linq.

EF实体框架数据操作基类

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Data.Entity.Infrastruct