1. List Shuffle
Java에서는 기본적으로 지원하는 함수지만, C#에서는 확장메서드로 구현 해줘야 한다.
public static class ExtensionList
{
private static Random _ran = new Random();
public static void Shuffle<T>(this List<T> list)
{
int to = list.Count;
while (to > 1)
{
int from = _ran.Next(--to + 1);
T tmp = list[from];
list[from] = list[to];
list[to] = tmp;
}
}
}
2. List Swap
List에 index로 서로의 위치를 변경하고자 할때 쓰인다.
ex) Drag&Move로 아이템의 위치를 변경하고자 할때
C#에서 제공하는 함수는 없으며, 확장 메서드로 따로 구현 하여야 한다.
public static class ExtensionList
{
public static void Swap<T>(this List<T> list, int from, int to)
{
T tmp = list[from];
list[from] = list[to];
list[to] = tmp;
}
}
'c#' 카테고리의 다른 글
C#: WCF ServiceClient의 IDiaposable 구현 (0) | 2021.02.08 |
---|---|
UI 프리징을 피하기 위한 Task 사용 방법 (0) | 2020.05.13 |