Microsoft MVP성태의 닷넷 이야기
C# 에서 제공하는 컬렉션들의 차이점이 궁금합니다. [링크 복사], [링크+제목 복사],
조회: 11048
글쓴 사람
kr1
홈페이지
첨부 파일
 

C#에는 다음과 같이 비슷한데 여러 종류의 Collections이 있는것 같습니다.
System.Collections.Generic의 Dictionary
System.Collections.Concurrent의 ConcurrentDictionary
System.Collections.Immutable의 ImmutableDictionary
System.Collections.ObjectModel의 ReadOnlyDictionary

위와 같이 동일한 Collection을 여러개 만들어 놓은 이유가 있을 것 같은데.
각각 어떤 차이점이 있고 어떤 용도로 활용하는게 좋을까요?
어떤 경우에 어떤 Collection을 사용해야 할지 잘 감이 오지 않습니다.








[최초 등록일: ]
[최종 수정일: 1/10/2023]


비밀번호

댓글 작성자
 



2023-01-10 03시20분
Dictionary의 thread-safe한 버전이 ConcurrentDictionary입니다.
Dictionary에 Add/Remove/Update를 하는 경우 아예 새롭게 생성한 Dictionary를 반환하는 것이 ImmutableDictionary입니다.
Dictionary에 읽기만 가능하도록 AsReadOnly 메서드를 호출해 반환받은 것이 ReadOnlyDictionary입니다.

말 그대로 "Concurrent", "Immutable", "ReadOnly"의 역할을 합니다. 딱히 더 쉽게 설명하려면 장황해질 것 같고, 각각의 타입에 대해 예제 코드를 검색해 보시면 좀 더 이해를 넓힐 수 있을 것입니다.
정성태
2023-01-10 03시23분
[guest] concurrent는 thread가 필요한 경우 아닌가요?
Immutable은 변경이 불가능하도록 할 때
ReadOnlyDictionary는 파일 작업할 때
[guest]
2023-01-10 03시48분
[guest] 또 한수 배웠네요
[guest]

... 91  92  93  94  95  [96]  97 
NoWriterDateCnt.TitleFile(s)
57정성태9/23/200413319    답변글 [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
61엄길웅10/1/200411927        답변글 [답변]: [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
54차광석8/26/200412148잘 지내시죠?
55정성태8/27/200411260    답변글 [답변]: 잘 지내시죠?
52김명원8/3/200412092질문이요..
53정성태8/19/200411956    답변글 [답변]: 질문이요..
50김상표7/5/200411792질문요...
51정성태7/6/200411637    답변글 [답변]: 질문요...
45송야5/29/200411776웹페이지 자동로그인..
46정성태5/31/200412658    답변글 [답변]: 웹페이지 자동로그인..
44반데라이차5/26/200411835안녕하세요~저 오크에요~~^^* [1]
43이윤복4/22/200410685윤보기 입니다.
48정성태5/31/200411961    답변글 [답변]: 윤보기 입니다.
40김대웅2/26/200412955메일 드렸는데.. 읽어보셨는지 모르겠네요.. 많이 바쁘신것 같아요..
41정성태2/29/200411903    답변글 [답변]: 메일 드렸는데.. 읽어보셨는지 모르겠네요.. 많이 바쁘신것 같아요..
42정성태3/6/200413137    답변글 [답변]: 메일로 답변을 드렸는데. 메일이 자꾸 반송되네요. 여기서 답변드립니다.
38문우영1/19/200411492ㅋㅋ 한글 아이디도 되는군요.!!
39정성태1/26/200412081    답변글 [답변]: 다행이네요. ^^;
33신종화1/9/200412911성태님 오랬만이군요 ^^ 새해복 많이 받으세요
35정성태1/17/200411040    답변글 [답변]: 성태님 오랬만이군요 ^^ 새해복 많이 받으세요
32김기영1/5/200411797질문인데요... 웹브라우저로 text를 전송할 수 있을까요??
34정성태1/17/200411337    답변글 [답변]: 질문인데요... 웹브라우저로 text를 전송할 수 있을까요??
28박소연10/30/200315285c언어를 이용한 가계부 프로그램
31정성태12/17/200316718    답변글 [답변]: c언어를 이용한 가계부 프로그램
27임영택9/17/200311907atl com에서 Window Handle 구하고 싶은데(바쁘시더라도 꼭 답변 해주세요!!)
30정성태12/17/200312365    답변글 [답변]: atl com에서 Window Handle 구하고 싶은데(바쁘시더라도 꼭 답변 해주세요!!)
... 91  92  93  94  95  [96]  97