나에게 주어진 사전에 특정 문자열이 키로 포함되어 있는지 확인하고 싶습니다. 대소 문자를 구분하지 않고이 검사를해야합니다. 예를 들어 누군가 헤더라는 문자열 사전이있는 HTTP 요청 객체를 전달한 경우입니다. "Content-Type"또는 "Content-Type"또는 "Content-Type"이 request.headers 사전의 키인지 확인할 수 있어야합니다.대소 문자를 구분하지 않고 기존 사전에서 키 확인
보통 ContainsKey()
은 대소 문자를 구분하여 키를 확인하기 때문에 작동하지 않습니다.
사전을 대소 문자를 구분하지 않고 정의함으로써이 문제를 해결할 방법이 있다는 것도 알고 있습니다. 그러나 여기서 나는 어떤 종류의 사전이 나에게 전달되는지에 대한 통제권이 없다.
이전체 사전의 쌍을 반복 지정된 키 확인하는 방법은 다음과 같습니다 :
var match = dictionary.Where(pair => string.Equals(pair.Key, "hello"
, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
하거나 당신이 사전이 구성되는 방식을 제어 할 수 없기 때문에
* 코드를 묻는 질문은 해결하려는 문제에 대해 최소한의 이해를 보여 주어야합니다. 시도한 솔루션, 작동하지 않는 이유 및 예상 결과를 포함하십시오. * –
시도한 코드를 제공해주십시오. –
[둘러 보았습니다] (http://stackoverflow.com/questions/13995308/case-sensitive) -dictionary-keys)? – Jonesopolis