값이없는 키를 저장/검색/포함 할 수있는 .NET이 있습니까?
Dictionary<string, string>
을 사용할 수 있으며 항상 값으로 String.Empty
을 저장합니다. 그러나 더 좋은 해결책이 있을까요?IDictionary <TKey, TValue>와 비슷하지만 .NET에서 키 (값은 필요하지 않음) 만 사용할 수 있습니까?
답변
HashSet<T>
클래스를 사용할 수 있습니다.이 클래스는 집합에 고유 한 값을 저장하기위한 것입니다.
IDictionary{TKey, TValue}
의 주요 차이점은 (값을 저장하지 않는다는 것 이외에) HashSet<T>
에 동일한 값을 추가 할 수 있으며 이미 존재하는 경우 예외가 발생하지 않는다는 것입니다. 항목이 이미 사전에 존재하는 경우 ArgumentException
을 던질 것이다, 시도하고 Add
method on IDictionary{TKey, TValue}
반대로, 그 위에 Add
method를 호출합니다.
을 위 .NET 3.5을 사용하는 경우 Hashset<T>
을보십시오.
하는 경우 당신은 당신이 HashSet 클래스와 함께 갈 수있는 3.5 NET을 사용하고 있습니다. 그렇지 않다면 당신은 자신의 제네릭 clas (어쩌면 List<>
에서 상속하고 수표를하십시오).
당신은 아마 System.Collections.Generic.HashSet<T>
을 찾고 다음은 MSDN에서 관련 발췌입니다 :
는HashSet의 <T> 클래스는 고성능 설정 작업을 제공합니다. 집합 은 중복 요소가없고 그 요소가 특별한 순서가없는 컬렉션입니다.
HashSet의 <T> 객체의 용량 개체 저장할 수있는 소자의 수 이다. 요소가 개체에 추가되면 HashSet <T> 개체의 용량이 자동으로 증가합니다.
는 .NET 프레임 워크 버전 4부터 HashSet의 <T> 클래스 는 ISET <T> 인터페이스를 구현합니다.
List<T>
특정 요소가리스트에 존재하지만 다른 같은 HashSet
일하는 것이 제안하고 빠르게 중복을 포함 할 수 없기 때문에 아마도 경우 테스트 할 수있는 Contains 방법이있다. List<T>
은 중복 값을 가질 수 있습니다.
- 1. IDictionary <TKey, TValue> .NET 4에서 공변하지 않음
- 2. m2eclipse : "mvn test"와 비슷하지만 GUI가 있습니까?
- 3. IDictionary (Null 키 포함) - MSDN 오타 또는 다른 문제가 있습니까?
- 4. Solr을 .Net에서 사용할 수 있습니까?
- 5. .NET에서 REXX를 사용할 수 있습니까?
- 6. IDictionary (Of TKey, TValue)를 VB에서 어떻게 구현합니까?
- 7. C++ .NET에서 익명 함수를 사용할 수 있습니까?
- 8. 이 있습니까 <%와 <% =
- 9. ILookup <TKey, TVal> 대 IGrouping <TKey, TVal>
- 10. 기본적으로 사전에 <TKey, TValue> 순서가 있습니까?
- 11. IDictionary <string, IDictionary <string, ICollection <string> >> LINQ
- 12. linq에서 Func <Tkey,T>을 어떻게 사용할 수 있습니까?
- 13. P4.NET에서 글로벌 옵션을 사용할 수 있습니까?
- 14. .NET에서 일반 BitConverter.GetBytes를 사용할 수 있습니까?
- 15. Emacs의 C 키 대신 사용할 수 있습니까?
- 16. windows 인증 모드 (필요하지 않음)
- 17. SortedDictionary <TKey, TValue>를 통해 SortedList <TKey, TValue>를 사용하는 경우?
- 18. .NET에서 String 값은 어디에 배치됩니까?
- 19. 키 체인 항목의 기본 kSecAttrAccessible 값은 무엇입니까?
- 20. BitmapSource 만 이미지 소스에서 사용할 수 있습니까?
- 21. 인증 중에 만 SSL을 사용할 수 있습니까?
- 22. IDictionary <string, object>를 IDictionary <string, string>으로 변환하는 우아한 방법은 무엇입니까
- 23. .NET에서 키 로그인
- 24. IDictionary <string, string> 또는 NameValueCollection
- 25. Func <TSource, TKey> keySelector 오류
- 26. jRuby on Rails가 설치된 경우 Ruby 만 사용할 수 있습니까?
- 27. 트레이 (알림) 아이콘으로 만 구성된 win32 프로그램을 사용할 수 있습니까?
- 28. nHibernate 매핑 일반 IDictionary
- 29. FluentNhibernate IDictionary <엔티티, ValueObject는>
- 30. 사전의 스레드 안전성 <TKey, TValue>
'List
왜 목록을 사용할 수 없습니까? 속임수가없는 컬렉션을 찾고 있습니까? –
Will
@FlyingStreudel 예,하지만 목록에 키가 있는지 테스트해야합니다. –