int[] arr = { -32, 53, 5, -34, 56, 45, 34, 5, -34, 45, 2, 3, 6 }; var query = arr.Where((num, index) => num > num * index); foreach (var item in query) { Console.WriteLine(item); } Console.WriteLine("升序排序"); var query2 = arr.OrderBy(val=>val); foreach (var item in query2) { Console.WriteLine(item); } Console.WriteLine("降序排序"); var query3 = arr.OrderByDescending(val => val); foreach (var item in query3) { Console.WriteLine(item); } Console.WriteLine("绝对值从小到大排序"); MyComparer mc = new MyComparer(); var query4 = arr.OrderBy(val => val, mc); foreach (var item in query4) { Console.WriteLine(item); } Console.WriteLine("绝对值从大到小排序"); var query5 = arr.OrderByDescending(val => val, mc); foreach (var item in query5) { Console.WriteLine(item); }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class MyComparer : IComparer<int> { public int Compare(int x, int y) { int x1 = Math.Abs(x); int y1 = Math.Abs(y); if(x1>y1) { return 1; } else if(x1==y1) { return 0; } else { return -1; } } } }