IComparer<br>인터페이스 Linq 비교 인터페이스
6118 단어 compare
Linq에서 많은 확장 방법은 IComparer
이 인터페이스에는 구성원 메서드가 하나만 있습니다.
CompareTo는 현재 객체와 동일한 유형의 다른 객체를 비교합니다.
이 인터페이스는 값을 정렬할 수 있는 형식으로 이루어진다.예를 들어 수치나 문자열 클래스입니다.값 유형 또는 클래스 구현 CompareTo(T) 방법을 사용하여 정렬 등의 목적에 적합한 유형별 비교 방법을 만듭니다.
의미
0보다 작음 두 번째 객체 첫 번째 객체 보다 작음
제로 두 대상은 같다
0보다 큽니다. 첫 번째 객체가 두 번째 객체보다 큽니다.
순서를 외워야 하니 기분이 나쁘다.그렇다는 뜻이야.두 개의 매개 변수를 입력하고, 0보다 크면 첫 번째 매개 변수가 크고, 0보다 작으면 첫 번째 매개 변수가 작다.이렇게 간단해, 기억해.
그러나 Linq 확장 방법의 매개 변수에서 기본값은 0보다 작은 줄이 앞에 있는 것입니다. 큰 줄이 앞에 있는지, 작은 줄이 앞에 있는지, 0보다 작은 값이 앞에 있는지 생각하면 됩니다.
class Program
{
static void Main(string[] args)
{
People p1 = new People(1, " ", 23);
People p2 = new People(1, " ", 22);
People p3 = new People(1, " ", 21);
List<People> listP = new List<People>();
listP.Add(p1);
listP.Add(p2);
listP.Add(p3);
compares c = new compares();
IEnumerable<People> items = listP.OrderBy(p => p, c);
foreach (People p in items)
{
Console.WriteLine(p.Name); //
}
Console.ReadKey();
}
}
public class compares : IComparer<People>
{
public int Compare(People p1, People p2)
{
if (p1.Age > p2.Age)
{
return 1;
}
else if (p1.Age == p2.Age)
{
return 0;
}
else
{
return -1;
}
}
}
public class People
{
public People(int id, string name, int age)
{
this.Id = id;
this.Name = name;
this.Age = age;
}
public int Id
{
get;
set;
}
public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java - 차이점을 얻기 위해 두 개의 Word 문서를 비교하는 방법우리는 종종 직장에서 문서의 두 가지 버전을 얻습니다. 두 개의 유사한 버전을 비교하고 차이점을 찾아야 하는 것은 드문 일이 아닙니다. 이 기사에서는 을 사용하여 두 개의 Word 문서를 비교하고 Java에서 차이점...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.