Linq查询案例

简介:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile"};
            var queryResults = from n in names where n.StartsWith("S") select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

改造后,功能一样

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile","Ruiz","Singh"};
            // var queryResults = from n in names where n.StartsWith("S") select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            var queryResults = names.Where(n => n.StartsWith("S"));
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

增加排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile","Ruiz","Singh"};
            var queryResults = from n 
                               in names
                               where n.StartsWith("S")
                               orderby n
                               select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            // var queryResults = names.Where(n => n.StartsWith("S"));
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

降序排列

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile","Ruiz","Singh"};
            var queryResults = from n 
                               in names
                               where n.StartsWith("S")
                               orderby n descending // Z-A将序
                               select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            // var queryResults = names.Where(n => n.StartsWith("S"));
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

按照最后一个字母排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile","Ruiz","Singh"};
            var queryResults = from n 
                               in names
                               where n.StartsWith("S")
                               orderby n.Substring(n.Length -1) // 按最后一个字母排序
                               select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            // var queryResults = names.Where(n => n.StartsWith("S"));
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

通过OrderBy方法排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = { "Alonso","Zheng","Small","Smile","Ruiz","Singh"};
            //var queryResults = from n 
            //                   in names
            //                   where n.StartsWith("S")
            //                   orderby n.Substring(n.Length -1) // 按最后一个字母排序
            //                   select n; // n代表某一个元素,where指定查询的条件,select指定包含的元素
            var queryResults = names.OrderBy(n => n).Where(n => n.StartsWith("S")); // 通过OrderBy方法排序
            Console.WriteLine("Names beginning with S:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}

大数据查询

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = GenerateLotsOfNumbers(123456789);
            var queryResults = from n in numbers
                               where n < 1000
                               select n;
            Console.WriteLine("小于1000的数字:");
            foreach (var item in queryResults)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }

        // 随机数列表
        private static int[] GenerateLotsOfNumbers(int count)
        {
            Random generator = new Random(0);
            int[] result = new int[count];
            for (int i = 0; i< count; i++)
            {
                result[i] = generator.Next();
            }
            return result;
        }
    }
}
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6849594.html,如需转载请自行联系原作者
相关文章
|
弹性计算 人工智能 机器人
|
Java jenkins 持续交付
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
454 3
|
7月前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
123 1
|
10月前
|
存储 安全 Ubuntu
CentOS 与 Debian:主要相似点和不同点
【8月更文挑战第27天】
691 2
CentOS 与 Debian:主要相似点和不同点
|
8月前
|
前端开发 JavaScript UED
axios取消请求CancelToken的原理解析及用法示例
axios取消请求CancelToken的原理解析及用法示例
527 0
|
9月前
|
人工智能 IDE 程序员
通义灵码 AI 程序员正式上线!
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
909 4
|
10月前
|
消息中间件 Java 调度
一次线上服务CPU100%的排查过程
文章记录了一次线上服务CPU使用率达到100%的排查过程,通过使用top命令和jstack工具确定了导致高CPU使用的线程,并分析了Disruptor组件的不当配置是问题原因,通过修改组件的策略成功解决了问题。
214 0
|
10月前
|
存储 设计模式 安全
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
143 0
|
11月前
|
SQL Java 数据库连接
【Java】已解决java.sql.SQLRecoverableException异常
【Java】已解决java.sql.SQLRecoverableException异常
1466 0