zoukankan      html  css  js  c++  java
  • LinQ To Object

    基本概念

    要创建一个LINQ查询操作,一般需要以下3个步骤.

    1.准备数据源:准备LINQ查询操作所需要的数据源,如被查询的集合、关系数据库、XML等。

    2.创建查询:创建查询数据的LINQ查询表达式,如:“from u in users select u”。

    3.执行查询:执行上述步骤创建的LINQ查询表达式,并获取相应的结果。

    LINQ包括4个组件:LINQ to Object、LINQ to SQL 、LINQ to DataSet和 LINQ to XML。它们分别能够查询和处理集合类型、关系型数据库类型、 DataSet对象类型和XML类型的数据。

    ---------------------------------------------------------------------------------------------

    LINQ查询表达式类似T-SQL查询语句

         from a in users select a     //a in users  跟foreach差不多,结果为一个集合,a为一个子集,users为集合   不清楚是什么类型,我们就用var result=  来接收 ,一般用foreach来遍历result

         from a in users

        where   ......(是真假)

      orderby     ...... 

        select a

    ------------------------------------------------------------------------------------------------------------------------------------

    LinQ To Object

    使用LINQ能够查询任何可枚举的集合,如数组(Array和ArrayList)、泛型列表 List<T>、泛型字典Dictionary<T>等,以及用户自定义的集合。

    int [] ints  ={0,1,2,3,4,5,6,7,8,9};  //数据源
    var result=from u in ints              //创建查询
                       select u;
    foreach (var item in result){ Console.WriteLine(item);} //执行查询
    string[] username = { "张三", "李四", "王五", "关云长" };
            var result = from u in username
                         where u.Length>2    //条件
                         select u;
            foreach (var item in result)
            {
                Response.Write(item);    //结果为  关云长
            }
    //联合查询应用    
    class Program
    {
    static void Main(string[] args)
            {
                List<Student> stu = new List<Student>()
                {
                    new Student(){ Name="小", Age=22,Number=2},
                    new Student(){ Name="小", Age=15,Number=1},
                    new Student(){ Name="小", Age=18,Number=1},
                    new Student(){ Name="小", Age=19},
                    new Student(){ Name="小赵", Age=8},
                    new Student(){ Name="小钱", Age=9},                          
                };
                List<Class> classes = new List<Class>()
                {
                    new Class(){ Number=1, Name="1"},
                    new Class(){Number=2, Name="2"}
                };
            //联合查询
    var temp = from a in stu join c in classes on a.Number equals c.Number //equals 相等 //where a.Number==c.Number select new { //匿名类型对象 年龄=a.Age, 姓名 = a.Name, 班级 = c.Name }; foreach (var item in temp) { //Console.WriteLine("{0}是{1},年龄为{2}岁",item.姓名,item.班级,item.年龄); string str = string.Format("{0}是{1},年龄为{2}岁", item.姓名, item.班级, item.年龄); Console.WriteLine(str); } } } class Student { string name; public string Name { get { return name; } set { name = value; } } int age; public int Age { get { return age; } set { age = value; } } int number; public int Number { get { return number; } set { number = value; } } } class Class { int number; public int Number { get { return number; } set { number = value; } } string name; public string Name { get { return name; } set { name = value; } } }
  • 相关阅读:
    QTP自动化测试进阶
    疯狂Java实战演义
    软件开发之韵:和谐敏捷
    Android应用开发详解
    操作系统直接决定了计算机系统的整体性能
    iBATIS框架源码剖析
    PHP 5完全攻略
    天气地图系统
    OpenSolaris系统管理
    Asp.net MVC 3实例学习之ExtShop(三)——完成首页
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/5943812.html
Copyright © 2011-2022 走看看