Microsoft MVP성태의 닷넷 이야기
중첩 딕셔너리를 어떻게 만들 수 있을까요? [링크 복사], [링크+제목 복사]
조회: 7124
글쓴 사람
C#초보
홈페이지
첨부 파일
 

안녕하세요. C#으로 CSV 파일을 읽고, 칼럼을 기준으로 딕셔너리를 만들려고 합니다.

만약 칼럼이 두 개이고, 첫번쨰 칼럼을 key로, 두번째 칼럼을 value로 하려면 (dict = {'key':'value'} 형태)

    Dictionary<string, string> dict = File.ReadLines("file.csv")
                                          .Skip(1)
                                          .Select(line => line.Split(','))
                                          .ToDictionary(line => line[0], line => line[1]);

위와 같이 하면 될 것 같은데요.

만약 칼럼이 두 개 이상이고, 첫번째 칼럼을 key로, 나머지 칼럼을 각각 칼럼 이름에 해당하는 내부 딕셔너리로 만들려면 어떻게 해야 할까요?

( dict = {'key' : {'column1Name':'value1', 'column2Name':'value2, ...} }

Dictionary<string, Dictionary<string, string>> 형태)


반복문을 사용하지 않고 한 번에 표현할 수 있는 방법이 있으면 알고 싶습니다.

읽어 주셔서 감사합니다.








[최초 등록일: ]
[최종 수정일: 11/6/2019]


비밀번호

댓글 작성자
 



2019-11-06 08시53분
한 가지 가정을 해볼까요? Skip 메서드가 Enumerable에 확장 메서드로 정의되어 있지 않았다면 어떻게 구현하시겠습니까? 결국 마찬가지로 (Microsoft가 그랬던 것처럼) while 반복을 사용해 확장 메서드로 자신만의 Skip을 만들어야 했을 것입니다.

따라서, 없는 기능이라면 확장 메서드를 더 정의해 추가하시면 됩니다.
정성태
2019-11-07 01시38분
[C#초보] 작가님 답변 감사합니다!
[guest]

1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5802모바일앱1/22/20232898XAMARINE vs Android Studio [7]
5801블루투스1/19/20233648WPF 은행지폐계수기 개조 후 결과값 서버 전송 [2]파일 다운로드1
5800김민아1/19/20233966안녕하세요 가비지 컬렉터 동작 원리 중 궁금한점이 있습니다 [5]
5799guest1/19/20233117C# 공유폴더 내 Acess 디비 공유 [2]
5798kss1/19/20232903책 오탈인가요? [1]
5797이거비버1/19/20232993C# 공부 이후 MS 프레임워크.. 어느것을 공부해야할까요? 너무 많아서 정신이 없네요 [5]
5796guest1/19/20232718해킹 test [3]
5795동기1/18/20232559동기 스레드와 메서드와 While [2]
5794박규동1/18/20232529.net publish 할때마다 runtimeconfig 값이 바뀌는 현상 [1]
5793후후훗1/18/20232691.NET Core 에서 사용중인 함수 후킹 방법 [2]
5792Will...1/18/20232621소스코드 Log Write 기능을 리스트업 질문 [9]
5791PLC1/16/20233314C# - 실시간 5개 룸 모니터링 [15]
5790집으로 ...1/13/20232965[UI 멈춤 현상]deadlock 관련 글을 보고 혹시나 하고 문의 드립니다. [4]
5789guest1/10/20232861스레드와 Async Task [2]파일 다운로드1
5788kr11/10/20233305C# 에서 제공하는 컬렉션들의 차이점이 궁금합니다. [3]
5787stack1/10/20233091STACKOVERFLOW [1]
5786Dev ...1/9/20233968익명 클래스 말고 익명 구조체는 불가능한걸까요? [4]
5785음성인식1/8/20233574음성인식 System.Speech - 문법에 사용된 언어가 음성 인식기의 언어와 일치하지 않습니다. [2]
5784MS워드1/8/20233175MS워드에서 ctrl Z는 클립보드를 이용하나요? 아니면 참조자 이용하나요? [7]
5783구직자1/7/20233240C#개발자 구인광고와 초급개발자 [3]파일 다운로드1
5782Sqli...1/5/20233184윈도우11 노트북에서 exe(Sqlite)만들어 윈도우 7 PC에 설치 시 [5]
5781List맨1/5/20233741List.Add("newobj") 속도는 빠른 편인지요? [11]
5780임세1/3/20234347C# 프로그래밍 10 책 구매한 사람입니다. 3부 자료는 어디서 다운 받을 수 있나요? [4]
5779이건우1/2/20233201안녕하십니까 루프안에서 메세지처리에 관하여 질문드립니다! [2]
5778이건우12/30/20224463안녕하세요 c#에서 dll참조 관련 질문드립니다. [4]
5777감사합니...12/29/20223474UI Thread에 Invoke 처리관련 궁금합니다. [3]
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...