컴퓨터 과학 & 영상처리 관련/C# / .NET / JAVA c# List<> foreach, compare 꺄뜨르 2014. 3. 22. 12:16 blobAreaSize.ForEach(delegate (labelingPair lp) { int colorIndex = lp.index; if(colorIndex == 5) { blobAreaSize.Remove(lp); } }); //이렇게 foreach 사용 가능 , List<labelingPair> blobAreaSize이기 때문에 이건 맞춰줘야함 //compare의 경우는 public struct labelingPair { public int size ; public int index ; }; public class Comparer : IComparer<labelingPair> { public int Compare(labelingPair x, labelingPair y) { int ret = 0; if (x.size == y.size) ret = 0; else if (x.size < y.size) ret = -1; else ret = 1; return -ret; //마이너스를 붙여 역순으로 정렬 } } Comparer cp = new Comparer(); blobAreaSize.Sort(cp); //이리 하면 Size가 큰 순으로 정렬되고... 위에 -ret 를 ret로 바꾸면 작은 순으로 정렬되는듯 //참고사이트 http://pullthelever.tistory.com/479