zoukankan      html  css  js  c++  java
  • LINQ-Where子句与select子句

    1.Where子句

      where子句的作用就是筛选元素,除了开始喝结束位置,where子句几乎可以出现在LINQ表达式的任意位置。一个LINQ表达式中可以有Where子句,也可以没有;可以有一个,可以有多个;多个where子句之间的关系相当于逻辑“与”,每个where子句可以包含1个或多个逻辑表达式,这些条件成为“谓词”,多个谓词之间用布尔运算符隔开,比如逻辑“与”用&&,逻辑“或”用||,而不是SQL中的and或or

    namespace LINQ
    {
        class Custom
        {
            public string name
            {
                get;
                set;
            }
            public int Age
            {
                get;
                set;
            }
            public List<string> Table
            {
                get;
                set;
            }
        }
    }
      class Program
        {
            static void Main(string[] args)
            {
                List<Custom> my = new List<Custom>()
                {
                    new Custom() {  name="杜伟",Age=23,Table=new List<string> { "13166856811","17644045820"} },
                    new Custom() {  name="王玥",Age=30,Table=new List<string>(){"13526485597","145326689751" } }
                };
    
                var b = from a in my
                        //筛选字符串长度为2 与名字开头有杜的
                      where(a.name.Length==2&&a.name.Substring(0,1)=="")
                         select a;
    
                foreach (var item in b)
                {
                    Console.WriteLine("姓名{0},年龄{1}",item.name,item.Age);
                    foreach (var item1 in item.Table)
                    {
                        Console.WriteLine("          电话{0}",item1);
                    }
                }
    
                Console.ReadKey();
            }

    2.select子句

      例子:最简单select就是直接输出from子句建立的那个范围变来那个;

      

     static void Main(string[] args)
            {
                int[] a = {0,1,2,3,4,5,6,7 ,8,9};
                var qury = from c in a
                           select c;
    
                foreach (var item in qury)
                {
                    Console.WriteLine(item);
                }
                Console.ReadKey();
    
            }

    例2:对查询结果进行投影(转换)。下面查询表达式查询arr数组中的每一个元素,查询结果转换为一个集合对象的两个属性值:ID和Name,它在select子句中由匿名对象初始化器创建。每一个对象的ID属性的值是当前元素的值、Name属性的值为元素的值的字符串的表现形式。

       

     static void Main(string[] args)
            {
                int[] a = {0,1,2,3,4,5,6,7 ,8,9};
                var qury = from c in a
                           //使用匿名初始化器创建集合,select可以理解成要显示的格式
                           select new {id=c,name=c.ToString() };
    
                foreach (var item in qury)
                {
                    Console.WriteLine(item.id+""+item.name);
                }
                Console.ReadKey();
    
            }
  • 相关阅读:
    Netty Java原生和Netty网络的API比较
    MYSQL登录函数(第3版本)
    利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版)
    UC登录功能:商户需要创建的表
    利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
    MYSQL存储过程实现用户登录
    FreeBsd网络性能优化方案sysctl
    利用飞儿云PHP框架自带的DNSPOD库做DDNS动态域名解析
    Linux根据MAC地址自动设置IP
    在KVM里装个pfSense
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9442274.html
Copyright © 2011-2022 走看看