순전히 기능적인 사전을 제공하는 C#에서 사용하기에 적합한 클래스가 표준 라이브러리에 없으면, 아마도 Nuget 패키지로 존재합니까? 즉, 키를 추가하거나 제거하면 원본을 변경하지 않고 새 사전을 반환합니다.C# 순전히 기능적인 사전
답변
, ImmutableDictionary<TKey, TValue>
을 더 찾을 수 있습니다
https://msdn.microsoft.com/en-us/library/dn467181(v=vs.111).aspx
당신은 불변 사전에 원래 사전의 사본를 조작 할 때 이 적용되고 조작이 적용되고 new 불변 사전이 리턴됩니다.
누군가가 [ReadOnlyDictionary] (https://msdn.microsoft.com/en-us/library/gg712875(v=vs/vs/) 110) .aspx) 및 [ 'ImmutableDictionary'] (https://msdn.microsoft.com/en-us/library/dn467063(v=1111).aspx)와 같은 불변의 컬렉션 : 전자는 컬렉션을 수정하는 메소드를 제공하지만 원래의 수정 가능한 컬렉션을 감싸는 래퍼 일뿐입니다. 또한 변경된 경우 읽기 전용 컬렉션도 수정됩니다. 불변의 콜렉션은 래퍼가 아니기 때문에 변경할 수 없습니다. –
...하지만 비슷하게 작동하는 ['Add'] (https://msdn.microsoft.com/en-us/library/dn466983 (v = vs.111) .aspx)처럼 "수정"하는 방법을 제공합니다 'string' 메쏘드에, 그들은 새로운 수정 된 불변 콜렉션을 리턴하지만, 오래된 것은 변경되지 않은 채로 남아 있습니다. –
System.Collections.Immutable에서 ImmutableDictionary를 찾았습니다. 당신은 당신의 경우 여기에 당신은 불변 컬렉션을 찾고있는 https://msdn.microsoft.com/fr-fr/library/dn467181(v=vs.111).aspx
".NET에는 읽기 전용 또는 변경 불가능한 사전이 있습니까?"라는 문구를 다시 말해야합니다. 대답은 모두에게 그렇습니다.
읽기 전용 사전 기능은 ReadOnlyDictionary 클래스에서 제공합니다.
불변성은 다른 것을 의미합니다. 즉, 다른 클라이언트가 컬렉션을 변경하는 경우에도 한 클라이언트의 컬렉션보기가 변경되지 않는다는 의미입니다. 이것은 ImmutableDictionary 클래스에서 제공되는
가장 좋은 기능 사전 (또는이 기능을 세계에 알려져있는 한 '지도')로 볼 수 있습니다이 C#을 기능 라이브러리의 일부로 : 여기
https://github.com/louthy/language-ext
https://github.com/louthy/language-ext/blob/master/LanguageExt.Core/Map.cs
면책 조항 :지도 모듈은 내가 썼다. 그러나 라이브러리를 사용하는 이유는 C#에서 함수형 프로그래밍을 용이하게하기 위해서입니다. InutableDictionary의 대답이 받아 들여지는 것은, (불변의 시멘틱스를 사용하고 있어도)보다 OO 스타일의 인터페이스입니다.
- 1. 순전히 기능적인 데이터 구조는 항상 lock-free입니까?
- 2. 왜, F #의 Lazy 순전히 기능적인 스택이 non-lazy 스택보다 느린가요?
- 3. 순전히 기능적인 표준 바이너리 힙 (ocaml 또는 haskell)을 어떻게 구현할 수 있습니까?
- 4. Silverlight와 XNA, 순전히 HTML5
- 5. C# 사전 사전 형식
- 6. 지도를 업데이트하는 기능적인 방법
- 7. 기능적인 구조가 있습니까 (시작 ...)?
- 8. 파이썬 기능적인 "찾기"?
- 9. 기능적인 스타일 검증 알고리즘
- 10. MXML과 순전히 레이아웃을 순전히 Skin의 Skin에서 유지하는 방법?
- 11. 문자 배열에 순전히 숫자 또는 순전히 문자가 포함되어 있는지 확인하십시오.
- 12. 어떻게이 순전히 학문적 인
- 13. weakhashmap과 순전히 기능적으로 동일합니까?
- 14. 순전히 기능적 라켓
- 15. 순전히 STM 기능 테스트
- 16. jQuery의 배열에 C# 사전 사전
- 17. C++ 사전?
- 18. 순전히 숫자로 문자열을 대체하는 방법은?
- 19. Selenium2/WebDriver에서 순전히 기능적으로 사용할 수있는 언어 바인딩이 있습니까?
- 20. 빠르고 기능적인 소수 생성기가 있습니까?
- 21. F #의 array2D보다 기능적인 대체물
- 22. 기능적인 자바 스크립트가있는 시퀀스 객체
- 23. 작동하는 기능적인 방법을 얻을 수없는 이유는 무엇입니까?
- 24. 순전히 숫자로 된 wordpress permalinks
- 25. 순전히 정수 곱셈에 오류가 있습니까?
- 26. JRuby/Jython은 순전히 해석 모드입니까?
- 27. 순전히 CSS로 100 % 화면 높이
- 28. 자바 스크립트에서 순전히 양식 처리
- 29. 도커가 순전히 명령 줄에서 빌드
- 30. 누적 합계를 반전하는 기능적인 방법은 무엇입니까?
Eh,'ImmutableDictionary'? https://msdn.microsoft.com/en-us/library/dn467181(v=vs.111).aspx 불변 사전을 조작하면 원래 사전 복사본이 만들어지고 조작이 적용되고 새로운 불변 사전이 반환됩니다 . –
당신은 '기능적'이란 단어를 잘못 사용하고 있습니다. 읽기 전용 또는 변경 불가능한 사전에 대해 묻습니다. 두 가지 동작을 모두 제공하는 클래스가 있습니다. –