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();
    
            }
  • 相关阅读:
    【心情】一天又一天
    【转】深度学习目标检测的整体架构描述(one-stage/two-stage/multi-stage)
    如何转载CSDN以及博客园的文章
    【转】Faster RCNN原理分析(二):Region Proposal Networks详解
    Lintcode 627
    遇黑中介打官司拿到房租的成功案例
    记录音视频不同步的问题及解决过程
    ffmpeg 使用笔记
    centos min安装后使用gclient
    剑指 Offer 26. 树的子结构
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9442274.html
Copyright © 2011-2022 走看看