LINQ의 OrderBy 이외에도,
List<T> 에서는 기본 제공하는 Sort 라는 메소드가 존재함.
public void TEST()
{
statModifers.Sort(CompareOrder);
}
private int CompareOrder(StatModifier a, StatModifier b)
{
if (a.Order < b.Order)
return -1;
else if (a.Order > b.Order)
return 1;
return 0;
}
Sort 속에는 Comparison이 될 수 있는 메소드가 들어가야한다.
statModifers.Sort(delegate (StatModifier a, StatModifier b)
{
if (a.Order < b.Order)
return -1;
else if (a.Order > b.Order)
return 1;
return 0;
});
외부에서 함수를 선언하지않고 위와 같이 delegate로도 가능하다.
List<T> Sort 는 같은 데이터가 있다면 두개의 순서가 바뀔 수 있다고한다.
LINQ OrderBy 는 같은 데이터가 있더라도 순서가 바뀌지않는다.
'🌍 C# Study > C# 케이스 스터디' 카테고리의 다른 글
ReadOnlyCollection (0) | 2019.12.12 |
---|---|
for 문에서 AddListener 람다식은 주의해야한다. (AddListener for loop) 클로저 Closure problem (5) | 2019.12.12 |
확장 메서드 (0) | 2019.10.02 |
C# 글자 표기 문자 형식 string.Format / ToString (0) | 2019.09.07 |
배열Array 초기화 / 리스트List 초기화 / 배열의 복사 / 리스트의 복사 (0) | 2019.07.07 |