c#数组用linq语句查询奇偶数并排序
c#数组用linq语句查询奇偶数并排序
使用LINQ和Lambda表达式根据特定条件来查询数组
int[] names = { 8,9,22,23,7,2}; int[] evens = names.Where(p1 => p1 % 2 == 0).OrderByDescending(p1=>p1).ToArray(); //查找所以偶数并排序 Console.WriteLine("偶数:"+string.Join(",",evens)); string evens_str = string.Join(",",evens); Console.WriteLine("偶数string:"+evens_str); int[] oadds = names.Where(p1 => p1 % 2 != 0).OrderByDescending(p1 => p1).ToArray(); Console.WriteLine("偶数:" + string.Join(",", oadds)); string evens_str1 = string.Join(",", oadds); Console.WriteLine("偶数string:" + evens_str1);
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LinqLearning { class Program { 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; } static void Main(string[] args) { int[] numbers = GenerateLotsOfNumbers(12345678); var queryResults = from n in numbers where n < 1000 orderby n descending select n; Console.WriteLine("查询语法排序结果:"); DateTime start = DateTime.Now; foreach (var item in queryResults) Console.WriteLine(item); Console.WriteLine("消耗时间:{0}",DateTime.Now-start); var queryResult = numbers.OrderByDescending(n => n).Where(n => n < 1000); Console.WriteLine("方法排序结果(排序字段在前):"); start = DateTime.Now; foreach (var item in queryResult) Console.WriteLine(item); Console.WriteLine("消耗时间:{0}", DateTime.Now - start); var query = numbers.Where(n => n < 1000).OrderByDescending(n => n); Console.WriteLine("方法排序结果(排序字段在后):"); start = DateTime.Now; foreach (var item in query) Console.WriteLine(item); Console.WriteLine("消耗时间:{0}", DateTime.Now - start); Console.ReadKey(); } } }
欢迎讨论,相互学习。
cdtxw@foxmail.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)