精华内容
下载资源
问答
  • C#linq

    2020-09-26 09:11:15
    最近在写linq,从两个数据库拿出数据用linq连接进行分组统计,中间还有差集并集,获得最终数据集,使用linq扩展方法count()获取元素数量,效率有点低,大家还有什么其他简单好用的方法来获取数量[face]monkey:29.gif...
  • C#Linq

    2018-06-06 17:55:55
    LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。Linq:各种数据源统一查找的查找方式,Objects,XML,...

    LINQ(Language Integrated Query)语言集成查询是一组用于c#Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。

    Linq:各种数据源统一查找的查找方式,Objects,XML,DataSet,SQL.

    1,form开头

    2,在where后加筛选条件

    3,select结尾


    微软实例如下:

    class LINQQueryExpressions
    {
        static void Main()
        {


            // Specify the data source.
            int[] scores = new int[] { 97, 92, 81, 60 };


            // Define the query expression.
            IEnumerable<int> scoreQuery =
                from score in scores

                where score > 80

                /* 升序操作 orderby score ascending */

                /* 降序操作 orderby score descending */

                select score;


            // Execute the query.
            foreach (int i in scoreQuery)
            {
                Console.Write(i + " ");
            }
        }
    }

    // Output: 97 92 81


    十个常用的查询标记学习http://www.cnblogs.com/knowledgesea/p/3897665.html


    展开全文
  • c# linq

    千次阅读 2019-06-05 10:14:00
    LINQ(读音link)代表语言集成查询(Language Integrated Query),是.NEt框架的扩展,它允许我们用SQL查询数据库的方式来查询数据的集合,使用它,你可以从数据库、程序对象的集合以及XML文档中查询数据 Linq语法 ...

    LINQ(读音link)代表语言集成查询(Language Integrated Query),是.NEt框架的扩展,它允许我们用SQL查询数据库的方式来查询数据的集合,使用它,你可以从数据库、程序对象的集合以及XML文档中查询数据

     

    Linq语法
    let子句

    let子句接受一个表达式的运算并且把它赋值给一个需要在其他运算中使用的标识符,它是from...let...where片段中的一部分

    1
    2
    3
    4
    5
    var query = from a in groupA
       from b in groupB
       let sum = a + b
       where sum < 12
       select new(a,b,sum);
     from子句  

    from子句指定了要作为数据源使用的数据集合,它的语法是:

    1
    from Type Item in Items

    其中Type是集合中元素的类型,是可选的,因为编译器可以从集合来推断类型。  Item是迭代变量的名字。  Items是要查询的集合的名字,必须是可枚举类型的

    它和foreach比较相似,但foreach语句在遇到代码时就执行其主体,二from子句什么也不执行。它创建可以执行的后台代码对象,只有在程序的控制流遇到访问查询变量的语句时才会执行

     join子句  

    如果您对SQL中的join比较熟悉的话,那么LINQ中的join对你来说也不是什么难事,不熟悉的话,,当我没说。

    我们可以使用join来结合两个或更多集合中的数据,它接受两个集合然后创建一个临时的对象集合

    1
    2
    var query = from s in students
      join c in course on s.SID equals c.SID

    equals用于比较相等性的字段,不能使用“==”代替,下面示例中有三个学生和三门课程,我们要做的是查找选修了历史课的学生名

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace LINK查询
    {
     class Program
     {
     public class Student //声明student类
     {
      public int stId; //学生ID
      public string stuName; //学生姓名
     }
     
     public class Course //声明course类
     {
      public int stId; //学生ID
      public string courseName; //课程名
     }
     
     static Student[] students = new Student[]
     {
      new Student {stId = 1,stuName = "jack"},
      new Student {stId = 2,stuName = "taylor"},
      new Student {stId = 3,stuName = "fleming"}
     };
     
     static Course[] courses = new Course[]
     {
      new Course{stId = 1,courseName = "art"},
      new Course{stId = 2, courseName = "art"},
      new Course{stId = 1,courseName = "history"},
      new Course{stId = 3, courseName = "history"},
      new Course{stId = 3,courseName = "physics"},
     };
     
     static void Main(string[] args)
     {
      //查询所有选修了history课的学生名
      var query = from s in students
       join c in courses on s.stId equals c.stId
       where c.courseName == "history"
       select s.stuName;
     
      foreach(string str in query)
      {
      Console.Write("{0} ", str);
      }
      Console.ReadKey();
     }
     }
    }

    输出 jack fleming

    讲解一下查询过程:它会依次使用student中的对象与course中的所有对象进行对比,查找是否符合 s.stId equals c.stId where c.courseName == "history" 要求。

     

    stID stuName
    1 jack
    2 taylor
    3 fleming

     

     

     stID  courseName
     1  art
     2  art
     1  history
     3  history
     3  physics

    即先将(1,jack)和(1,art),(2,art)...(3,physics)分别匹配,然后再(2,taylor)和(1,art),(2,art)...(3,physics),直到所有都匹配完,最终可以找到两条可以匹配的结果

     where子句  

    where子句根据之后的运算来除去不符合要求的项,一个查询表达式可以有任意多个where子句,一个项必须满足所有的where条件才能避免被过滤,其语法为

    1
    2
    where BoolenExpression1
    where BoolenExpression2

    前面的例子已经多次用过where,这里就不举例了

     orderby子句  

    orderby可以很方便的将返回的数据进行排序,可选ascending和descending两种方式,默认的是ascending

    语法: orderby Expression ascending or descending 二选一

    为join子句中的例子增加一个orderby子句,返回结果就变成了 fleming jack

    1
    2
    3
    4
    5
    var query = from s in students
          join c in courses on s.stId equals c.stId
          where c.courseName == "history"
                   orderby s.stuName  //排序
          select s.stuName;
     group子句  

    group子句可以让你把select的结果按指定的键(key)进行分组 ,每一个分组由一个叫做键的字段区分,分组本身是可枚举类型的并且可以枚举它的项

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var query = from student in students
       group student by student.major;
     
       foreach (var s in query)
       {
        Console.WriteLine("{0}", s.key);
        foreach (var t in s)
        {
         console.writeLine(" {0}", t.Name);
        }
       }
     select子句  

    select子句指定所选定的对象哪部分应该被选择。可以指定下面的任意一项

    a: 整个数据项

    b: 数据项的一个字段

    c: 数据项中几个字段组成的新对象(或类似其他值)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var query = from s in students
          select s; //整个数据项
     
       var query = from s in students
          select s.stuName; //s中的一个字段
     
       var query = from a in groupA
          from b in groupB
          let sum = a + b
          where sum < 12
          select new (a, b, sum);  //a,b,sum组成的新字段
     查询延续: into子句  

    查询延续子句可以接受查询的一部分结构并赋予一个名字,从而可以在查询的另一部分中使用

    1
    2
    3
    4
    5
    var someInt = from a in groupA
        from b in groupB
        into groupAandB
        from c in groupAandB
        select c;
       
       
       
       
       
       
       
       
       
       
       
           

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    end

     

    转载于:https://www.cnblogs.com/mrray/p/10978069.html

    展开全文
  • C#LINQ

    2016-12-19 19:54:08
    LINQ——语言集成查询(Language Intergrated Query),定义了40个查询操作符,如select,from,in,where以及order by。LINQ是一种能够快速对大部分数据源进行访问和数据整合的一种技术,适用相同的基本查询表达式...

      LINQ——语言集成查询(Language Intergrated Query),定义了40个查询操作符,如select,from,in,where以及order by。LINQ是一种能够快速对大部分数据源进行访问和数据整合的一种技术,适用相同的基本查询表达式模式来查询和转换SQL数据库、ADO.NET数据集、XML文档和流以及.NET集合中的数据。LINQ通过对象的方式对数据库进行描述。
      1LINQ相关命名空间:
      这里写图片描述
      
      2查询表达式:
       - 查询表达式可用于查询和转换来自任意支持LINQ的数据源中的数据
       - 在您循环访问foreach语句中的查询变量之前,不会执行查询
       -查询表达式中的变量类型都是强类型的,但许多情况下您不需要显式提供类型,因为编译器可以推断类型。
       类型 查询变量 = from 临时变量 in 集合对象或数据库对象
       [where 条件表达式]
       [order by 条件]
       select 临时变量中被查询的值
       [group by 条件]

      3 LINQ to SQL
      

    展开全文
  • c# LINQ

    千次阅读 2012-08-02 09:50:15
    SQL code --构造测试数据: 只作演示用 CREATE TABLE [dbo].[Tim_LinqTable]( [Id] int PRIMARY KEY IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NOT NULL, [Parent] int NOT NULL...INSERT INTO [Tim_Linq

    SQL code
    --构造测试数据: 只作演示用 CREATE TABLE [dbo].[Tim_LinqTable]( [Id] int PRIMARY KEY IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NOT NULL, [Parent] int NOT NULL, ) GO INSERT INTO [Tim_LinqTable] SELECT 'A',0 UNION ALL SELECT 'A1',1 UNION ALL SELECT 'A2',1 UNION ALL SELECT 'B1',2 UNION ALL SELECT 'B2',3 UNION ALL SELECT 'C1',4 UNION ALL SELECT 'C2',4 UNION ALL SELECT 'D1',5 UNION ALL SELECT 'D2',5 UNION ALL SELECT 'D3',5 GO WITH temp AS ( SELECT * FROM [Tim_LinqTable] WHERE Parent = 3 UNION ALL SELECT m.* FROM [Tim_LinqTable] AS m INNER JOIN temp AS child ON m.Parent = child.Id ) SELECT * FROM temp GO --查询 Parent=3 的所有子数据结果如下: Id Name Parent ----------- -------------------------------------------------- ----------- 5 B2 3 8 D1 5 9 D2 5 10 D3 5 (4 row(s) affected)


    C# code
    //好,下边来看看用C#怎么实现上边的SQL语句吧: void Main() { var query=GetClassID(3); Console.WriteLine("Id\tName\tParent"); query.ToList().ForEach(q=>Console.WriteLine("{0}\t{1}\t{2}",q.Id,q.Name,q.Parent)); /* Id Name Parent 5 B2 3 8 D1 5 9 D2 5 10 D3 5 */ } public IEnumerable<Tim_LinqTable> GetClassID(int p_id) { var query = from c in this.Tim_LinqTables where c.Parent == p_id select c; return query.ToList().Concat(query.ToList().SelectMany(t => GetClassID(t.Id))); }


    更多LINQ知识分享,请参考:
    http://blog.csdn.net/q107770540
    展开全文
  • 全面分析c# LINQ

    2020-09-07 17:53:59
    主要介绍了c# LINQ的相关资料,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
  • c#Linq操作数组

    2013-11-24 19:17:51
    c#Linq操作数组 c#Linq操作数组 c#Linq操作数组
  • C# LinqXML查找根元素

    2017-10-27 10:33:54
    C# LinqXML查找根元素C# LinqXML查找根元素C# LinqXML查找根元素
  • 主要给大家介绍了关于C# LINQ的基本使用教程,文中通过示例代码介绍的非常详细,对大家学习或者使用C# LINQ具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • C# Linq 教程

    2011-08-25 14:05:56
    C# Linq 教程,大家可以支持一下.
  • c# Linq常用的小技巧

    2020-08-18 22:44:22
    主要介绍了c# Linq常用的小技巧,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • C# LinqXML查找指定名称的元素C# LinqXML查找指定名称的元素
  • 主要介绍了C# linq查询之动态OrderBy用法,实例分析了C#采用linq方式查询时动态排序的相关技巧,需要的朋友可以参考下
  • C# linq操作xml

    2012-11-12 16:55:09
    C# linq对单级和多级节点的xml进行查询、更新等操作
  • C# LinqXML遍历指定节点下的所有对象C# LinqXML遍历指定节点下的所有对象
  • C# Linq 笛卡尔积

    2020-08-06 10:34:19
    C# Linq 笛卡尔积 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp { public class Ye { public string Y { ...
  • 使用C#LINQ样式查询和Java 8闭包轻松操作集合。 描述 Android LINQ是受Microsoft C#LINQ库启发的集合操作实用程序的一小部分,面向希望使用新Java 8 Stream()API的Android开发人员。 通过将 ,开发人员可以...
  • C# Linq实战

    2018-07-20 14:13:07
    第1章 LINQ简介   1.1 LINQ是什么   1.2 为什么需要LINQ   1.3 LINQ的设计目标及起源   1.4 LINQ to Objects初步:查询内存中的集合   1.5 LINQ to XML初步:查询XML文档   1.6 LINQ to SQL初步...
  • C# Linq处理 Where条件筛选

    万次阅读 2017-12-28 13:19:00
    C# Linq处理 Where条件筛选
  • C#LINQ查询技术 二十多年的企业管理软件开发经历,熟知管理软件的整个开发...
  • c# LINQ学习资料

    2010-03-10 13:15:00
    c# LINQ学习介绍,从整体上讲解LINQ的语法和函数的使用,及其配合SQL和XML的使用。简洁清楚容易从整体把握和理解LINQ.
  • 学习LINQ工具,可以实时编译C#LINQ语句
  • C# Linq专业书籍(Pro Linq Language Integrated Query in C# 2010),含源码和电子书。
  • C# Linq查询

    2018-09-28 08:46:58
    Linq相关例子和使用,代码在visual studio2017上编译通过
  • C# LINQ 语言规范 文档 XMLSQL中文
  • 亲测好用,利用c#LinqXML技术 使用LINQ技术创建XML文件
  • C#LINQ查询技术

    千人学习 2018-01-10 16:51:08
    本课程以实例讲解LINQ(Language Intergrated Query)语言集成查询技术的使用。
  • 亲测好用,利用c#LinqXML技术 使用LINQ技术修改XML文件中
  • C# LINQ详解(一)

    万次阅读 2017-08-31 13:48:49
    -Part 3 (C# LINQ in detail),作者:Mohammand A Rahman.   目录  LINQ 基础  扩展方法-幕后的工作  扩展方法列表  Where and Select  All  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,998
精华内容 10,799
关键字:

c#linq

c# 订阅