반응형
C #에서 문자열 키 유형의 대소 문자 구분 사전
내가 있다면 대소 문자를 구분하지 않는 Dictionary<String,...>
방법을 만들 수 ContainsKey
있습니까?
이것은 관련이있는 것처럼 보이지만 제대로 이해하지 못했습니다 : c # Dictionary : 선언을 통해 키를 대소 문자를 구분 하지 않도록하십시오.
이것은 관련이있는 것처럼 보이지만 제대로 이해하지 못했습니다 : c # Dictionary : 선언을 통해 키를 대소 문자를 구분하지 않도록하십시오.
실제로 관련이 있습니다. 해결책은 사전 인스턴스에 표준 문자열 비교 방법 (대소 문자 구분)을 사용하지 말고 대소 문자를 구분하지 않는 것입니다. 이것은 적절한 생성자를 사용하여 수행됩니다 .
var dict = new Dictionary<string, YourClass>(
StringComparer.InvariantCultureIgnoreCase);
생성자는 IEqualityComparer
키를 비교하는 방법을 사전에 알려주 는를 기대 합니다.
StringComparer.InvariantCultureIgnoreCase
IEqualityComparer
대소 문자를 구분하지 않고 문자열을 비교 하는 인스턴스를 제공합니다 .
var myDic = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
myDic.Add("HeLlo", "hi");
if (myDic.ContainsKey("hello"))
Console.WriteLine(myDic["hello"]);
타사 또는 외부 dll에서 가져온 사전을 다루는 경우는 거의 없습니다. linq 사용
YourDictionary.Any(i => i.KeyName.ToLower().Contains("yourstring")))
반응형
'IT' 카테고리의 다른 글
매일 자정에 스크립트를 실행할 크론을 작성하는 방법은 무엇입니까? (0) | 2020.07.01 |
---|---|
Python 실행 파일이 libpython 공유 라이브러리를 찾을 수 없음 (0) | 2020.07.01 |
Xcode 8-IB 디자인 가능-자동 레이아웃 상태를 렌더링 및 업데이트하지 못했습니다. 에이전트가 충돌했습니다 (0) | 2020.06.30 |
아무것도 선택하지 않도록 jQuery에서 라디오 버튼을 재설정하는 방법 (0) | 2020.06.30 |
Java에서 파생 클래스의 재정의 메서드에서 기본 클래스의 메서드를 어떻게 호출합니까? (0) | 2020.06.30 |