C# List Sort 질문 드려요
조회수 8887회
abc라는 클래스가 있습니다. 이건 클릭 지점의 좌표 정보를 가져오는 클래스 입니다.
List pts = new List();
해서 List에 담으면 정보는 아래와 같습니다.
각 X,Y의 좌표가 double 값으로 담기게 됩니다.
현재는 클릭한 순서대로 리스트에 담기게 됩니다.
클릭한 순서대로가 아닌
X좌표를 기준으로 리스트 순서를 바꾸고 싶은데 방법을 알려주시면 감사하겠습니다.
[ 1] [0] [5] [2] [3] [4] 순으로 순서를 바꾸고 싶습니다.
감사합니다. 좋은하루 되세요~
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
linq를 사용하면 되지 않을까요?
var test = from n in pts orderby n.X ascending select n;
-
(•́ ✖ •̀)
알 수 없는 사용자 -
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
-
-
List의 Sort메소드를 이용하면 됩니다. 정렬 기준을 지정해 줄 수 있어요.
using System; using System.Collections.Generic; class Solution { static void Main(string[] args) { ABC p1 = new ABC(); ABC p2 = new ABC(); ABC p3 = new ABC(); p1.x = 10.5f;p1.y = 15f; p2.x = 80.5f;p2.y = 5.7f; p3.x = 2.5f;p3.y = 37f; List<ABC> list = new List<ABC>(); list.Add(p1); list.Add(p2); list.Add(p3); //이렇게 소트하면 됩니다. //x값을 기준으로 판단하도록 sort에 명령하는 부분입니다. list.Sort( (a,b) => a.x>b.x?1:-1); foreach(ABC item in list){ Console.WriteLine(item.x+", "+item.y); } } } class ABC { public float x; public float y; }
댓글 입력