Microsoft MVP성태의 닷넷 이야기
중첩 딕셔너리를 어떻게 만들 수 있을까요? [링크 복사], [링크+제목 복사],
조회: 15203
글쓴 사람
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]

... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...
NoWriterDateCnt.TitleFile(s)
4753조호찬8/23/201624073sybase 의 한글 가져오기 문의 [7]
4752타미플루8/19/201618780IIS 로그에서 time-taken이 0이 나올수 있나요? [4]
4751김민석8/16/201618944가변크기의 구조체를 SendMessage로 타 프로세스에 전송하는 방법이 있을까요? [1]
4750강준8/13/201619519ElementHost Memory Leak 현상 (아래내용과 동일 첨부 추가^^) [5]파일 다운로드1
4749강준8/11/201619244ElementHost Memory Leak 현상 [6]
4748Bere...8/3/201618181그냥 생각이 들어서 여기 글 써봅니다. [1]
4746힘찬도약8/2/201618470[asp.net] local에서 cookies값이 읽혀지지 않는 경우 [1]
4747힘찬도약8/3/201619225    답변글 [예제 첨부]: [asp.net] local에서 cookies값이 읽혀지지 않는 경우 [3]파일 다운로드1
4745힘찬도약7/27/201619278.NET 자식창 데이터를 부모창에 전달시 오류 질문드립니다. [4]파일 다운로드1
4744변찬연7/27/201619470안녕하세요 그 edge를 이용하는 데 조금 불편함이 있어서 문의드립니다 [1]
4743딸랑구아빠7/26/201618231IE 사용 시 인증 정보 계속 보내기? [1]
4741차가워7/20/201620043UWP 에서 COM 참조 불가능한가요? [6]
4740luna...7/19/201621097clickonce manifest 파일 질문 [1]
4739윤똘씨7/19/201621190정말 감동적입니다... [7]
4738닷넷초보7/7/201619624안녕하세요. C#의 개체 전달방식(참조)에 관련해서 질문 있습니다. [3]파일 다운로드1
4737beau...7/6/201621281python embedding 한 c++ 프로그램의 배포에 관해서 질문드리고 싶습니다. [1]
4736spow...7/6/201618240Property Lambda에 대한 심층 분석을 의뢰합니다 [7]
4735힘찬도약7/5/201619682.Net/Web.config에서 MSSQL을 쓰는데, MysqlSiteMap 참조오류 [3]파일 다운로드1
4734spow...6/28/201619293Visual Studio 2015 + Windows Forms 환경에서 컴파일 할 때 드물게 개발환경이 Crash 됩니다 [1]
4733feel...6/15/201619955타 서버로 소스 이전 중 [3]파일 다운로드1
4732구봉근6/14/201617964안녕하세요 [1]파일 다운로드1
4731초급개발자6/7/201620658Windows Form Application는 사라질까요? [2]
4730김시현6/4/201618568책으로 공부하던 도중 생성자에 대해서 궁금한게 생겼는데 혹시 답변좀 해주실수 있나요? [1]
4729Jeah...6/3/201620345C#.Net 프로그램에서 C++로 만들어진 dll 파일 이용관련 문의 하나 드립니다. [3]
4727링거5/30/201618290WPF MediaElement 파일 실행 후 삭제시 오류 문의 [1]파일 다운로드1
4728링거5/30/201619326    답변글 [답변]: WPF MediaElement 파일 실행 후 삭제시 오류 문의 [2]파일 다운로드1
... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...