반응형
사용자 정의 타입 ArrayList.Sort
IComparable 상속 받고 CompareTo 메서드를 구현하고 ArrayList에서 Sort를 호출하면 CompareTo 메서드를 호출하게 된다.
public class Person : IComparable
{
public int Age;
public string Name;
public Person(int age, string name)
{
this.Age = age;
this.Name = name;
}
public int CompareTo(object obj)
{
Person target = obj as Person;
if (this.Age > target.Age)
{
return 1;
}
else if (this.Age == target.Age)
{
return 0;
}
return -1;
}
public override string ToString()
{
return string.Format("{0}{1}", this.Name, this.Age);
}
}
ArrayList ar = new ArrayList();
ar.Add(new Person(32, "Cooper"));
ar.Add(new Person(56, "Anderson"));
ar.Add(new Person(17, "sammy"));
ar.Add(new Person(27, "Paul"));
ar.Sort();
foreach (Person p in ar)
{
Console.WriteLine(p);
}
반응형
'C#' 카테고리의 다른 글
다른 프로세스에서 파일을 사용 중인지 확인하는 함수. CheckFileLocked (7) | 2024.12.26 |
---|---|
"WinForms 환경에서 Thread.Sleep vs 사용자 정의 Delay 함수: 차이점과 활용 방안" (0) | 2024.12.26 |
"C# WinForms에서 멀티스레드로 안전하게 UI 컨트롤하기: InvokeRequired와 Invoke의 원리와 활용" (0) | 2024.12.18 |
C# partial 키워드 (1) | 2024.08.14 |
System.IO.MemoryStream (0) | 2024.08.01 |
프로퍼티 (1) | 2023.08.05 |
winform 시스템메뉴 MenuStrip 오른쪽버튼 (0) | 2023.07.22 |
as, is 연산자 (0) | 2023.07.16 |