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;
}
}
}
}