• 【.NET】Linq几样特点


    LinQ 是 .net framework 3.5的技术,对集合的查询和操作十分方便,结合LinQ Provider ,可以更方便操作XML和SQL(或Entity)。

    LinQ有6样常用的特性:

    1. 自动属性
    2. 隐形类型
    3. 对象集合初始器
    4. 匿名类
    5. 扩展方法
    6. Lambda表达式

    自动属性就是,之前实体类的写法,需要有字段和属性赋值,现在都省略了,写成:

    public class users{
        public int uid{get;set;}  
    }

    隐形类型就是,可以使用类似javascript的var来声明变量了,编译时赋值后,就不能改变数据类型。

    var i = 123;

    对象集合初始器就是,类似以前重载构造函数,用构造函数赋值的方法,现在更方便的做法:

    //简单的
    User user = new User{id=1;name="bb";sex="";}
    //嵌套的
    User user = new User{
           new Address{city="深圳";qu="福田区";}
    }
    //用集合List的数组类
    List<User> user = new List{
          new User{id=1;name="AA";sex=""},
          new User{id=2;name="BB";sex=""}      
    }

    匿名类就是,隐形类型+对象集合初始器

    var u = new User{id=1;name="aa";sex=""};

    扩展方法就是,静态方法都可以直接在变量上使用了,如:

    //静态的公用方法
    public static class common{
          public static bool IsNum(this sting s)
         {
                //判断是否数字
                Regex regex = new Regex(@"^[0-9]*$");
                return regex.IsMatch(s);
         }
    }
    
    //在别的类
    public class a{
           public void abc()
           {
                   string str1 = "123";
                   str1.IsNum();
            }
    }

    Lambda表达式(冷打)就是,s=>s.IndexOf("abc") > 0       规则是(参数列表)=>表达式或查询语句,目前知道的可以用在委托和是Prodicate<T>的时候。

    //委托
    delegate int get1(int);
    get1 bb = s=> s * s;
    int j = bb(5); //j=25
    
    //Prodicate<T>
    List<int> temp = new List<int>{1,2,3};
    var aa1 = temp.FindAll(s => s == 1);
  • 相关阅读:
    JAVA学习笔记(十二)
    JAVA学习笔记(十)
    JAVA学习笔记(九)
    JAVA学习笔记(八)
    JAVA学习笔记(七)
    JAVA学习笔记(六)
    JAVA学习笔记(五)
    20180313 mysql
    20180306 事件监听的方法 添加事件监听和取消事件监听 轮播图
    20180302DOM通过节点关系获取元素 表单元素 下拉列表 网页换肤 操作表格 问候
  • 原文地址:https://www.cnblogs.com/laokchen/p/5846762.html
Copyright © 2020-2023  润新知