WPF Q&A

List 을 확장정렬하려면 어떻게 해야 하나요? insurang 평점: 없음 조회: 211
            List<string> lst1 = new List<string>();
            lst1.Add("1");
            lst1.Add("2");
            lst1.Add("1");
            lst1.Add("2");
            lst1.Add("3");
 
            List<string> lst2 = new List<string>();
            lst1.Add("A");
            lst1.Add("B");
            lst1.Add("A");
            lst1.Add("B");
            lst1.Add("C");
 
            List<string> lst3 = new List<string>();
            lst1.Add("가");
            lst1.Add("나");
            lst1.Add("다");
            lst1.Add("라");
            lst1.Add("마");
 
            List<string>[] lst = new List<string>[] { lst1, lst2, lst3 };

lst[0].Sort 하면 lst1 만 정렬 되거나, lst1 을 기준으로 확장정렬 될줄 알았는데, 원하는 값이 나오지 않네요. ㅠㅠ

위 값을 lst1 기준으로 확장정렬하려면 어떻게 해야 하나요?
예)
1 A 가
1 A 다
2 B 나
2 B 라
3 C 마
 
태그 : 확장정렬 List
작성자 정보
insurang
Level 16
 [EXP.57/70]

메일:  비공개
글등록 +12 192 덧글등록 +3 87
자기소개
^^
글 공유하기 |
  tweet facebook
2018-09-03 오후 3:11:04
나도한마디
사용자
호산골            [2018-09-03]
Level 5
 [EXP.2/16]
typo가 있습니다. 모두 lst1 객체에 값을 Add하네요
사용자
insurang            [2018-09-04]
Level 16
 [EXP.57/70]
typo 찾기 넘 어렵네요... ㅠㅠ
일단 제 책에는 없고, 검색해도 또렷하게 나오는게 없는거 같습니다. ㅠㅠ
사용자
몬난아            [2018-09-04]
Level 71
 [EXP.180/250]
질문의 요지는 알겠는데 확장정렬이란 단어를 처음들어봐서..
그리고 개체로는 전부 다른 개체이니 모두 개별로 해주는게 정상이죠.
사용자
insurang            [2018-09-04]
Level 16
 [EXP.57/70]
확장정렬은 엑셀에서 쓰이는 용어 사용했습니다.
[각각정렬]
11223
AABBC
가나다라마

[확장정렬]
11223
AABBC
가다나라마 <-- lst1 을 기준으로 정렬

list가 둘이면 Key, Value 를 사용하겠는데, 3개라서 고민중에 있습니다.
일단 Key, Value 두개를 써서 Key 값 기준으로 다시 배열을 잡고는 있는데, 다른 방법이 있을꺼 같아서요
사용자
몬난아            [2018-09-05]
Level 71
 [EXP.180/250]
클래스로 감싸고 클레스간에 연결고리를 만들려면 dictionary로 만들어서
연결고리가 있어야합니다.
//클래스
public class TestObj
{
public Dictionary<int, string> list1 { get; set; }
public Dictionary<int, string> list2 { get; set; }
public Dictionary<int, string> list3 { get; set; }

public TestObj()
{
list1 = new Dictionary<int, string>();
list2 = new Dictionary<int, string>();
list3 = new Dictionary<int, string>();
}

public void Sort()
{
list1 = list1.OrderBy(d => d.Value).ToDictionary(k => k.Key, v => v.Value);
list2 = list2.OrderBy(d => list1[d.Key]).ToDictionary(k => k.Key, v => v.Value);
list3 = list3.OrderBy(d => list1[d.Key]).ToDictionary(k => k.Key, v => v.Value);
}
}

//구현부
var test = new TestObj();
test.list1.Add(1, "1");
test.list1.Add(2, "2");
test.list1.Add(3, "1");
test.list1.Add(4, "2");

test.list2.Add(1, "A");
test.list2.Add(2, "B");
test.list2.Add(3, "A");
test.list2.Add(4, "D");

test.list3.Add(1, "가");
test.list3.Add(2,"나");
test.list3.Add(3,"가");
test.list3.Add(4,"라");

test.Sort();

Console.WriteLine(string.Join(" , ", test.list1.Values));
Console.WriteLine(string.Join(" , ", test.list2.Values));
Console.WriteLine(string.Join(" , ", test.list3.Values));

사용자
insurang            [2018-09-05]
Level 16
 [EXP.57/70]
몬난아님 감사합니다.
클래스 만들어서 정렬하는게 정답이네요~
정말 감사합니다.^^
사용자
SEO            [2018-09-05]
Level 4
 [EXP.0/16]
List<Tuple<int, string, string>> list = new List<Tuple<int, string, string>>();
list.Add(new Tuple<int, string, string>(1, "A", "가"));
list.Add(new Tuple<int, string, string>(2, "B", "나"));
list.Add(new Tuple<int, string, string>(1, "A", "다"));
list.Add(new Tuple<int, string, string>(2, "B", "라"));
list.Add(new Tuple<int, string, string>(3, "D", "마"));
list = list.OrderBy(o => o.Item1).ToList();

이런식으로 하시면 될꺼 같은데 숫자값은 type는 string에서 int로 임의로 변경했습니다.
사용자
insurang            [2018-09-05]
Level 16
 [EXP.57/70]
SEO 님 감사합니다.
Tuple 처음 알았네요.
클래스 없이 간단하게 사용하기 좋네요.
감사합니다^^

역시 고수분들 넘넘 많아서 좋습니다.^^
태그로 엮인글
글리스트
Send 버튼 눌렀을 시 TextBlock 반영 방법[1]  WPFWTF
Rectangle에 Fill 된 색 값을 알아 내는 방법은 없나요??[1]+1  존오비미켈
Grid 에 Border 를 이용해 표를 만들었는데 세로줄이 상황에 따라 어긋나는 현상.[2]+2  비가와요
WPF 코드바인딩 관련 질문 하나 드립니다. (내용이 안보여 재업로드)[1]+2  죵김
WPF 코드바인딩 관련 질문 하나 드립니다.  죵김
DataGrid 관련 BorderBrush 질문이있습니다.[1]  독고다이
다른컴퓨터에서 제 로컬 서버 연결하는 방법[1]+1  WPFWTF
버튼 이미지 및 MouseOver 관련 문의[3]+1  WPFWTF
WebBrowser Navigate에 관한 질문입니다.[1]+1  nalai
TextBox 박스가 여러개있을때[3]  엿장수
 ★현재글->   List<string> 을 확장정렬하려면 어떻게 해야 하나요?[3]+5  insurang
책보고 처음 쓰레드 ( Thread ) 따라했는데, 값이 책과 다릅니다.[1]+1  insurang
스크린페인팅 프로그램을 만들고싶은데[1]+1  엿장수
파일다이얼로그 띄울때[1]+1  엿장수
smtp 메일서버 daum.net 보내 지나요?[1]+1  insurang
Listview에서 출력된 column 값 질문[2]+2  Sad7Dayz
blue 효과 적용 방법 문의 드립니다.[1]  hoon
Enum 을 Xaml 에서 사용하는 방법 궁금합니다.[3]  비가와요
버튼 사이즈를 NaN 으로 나오게 하는 방법 알려주세요.[1]  insurang
Blend 에 있는 컨트롤 VS로 가져올 수 있나요?[1]+1  insurang
메인창에서 자식창띄우고 자식창에서 OpenFileDialog 띄우는방법.[2]  왕초보자