C#에서 값으로 사전 키 검색
C#에서 관련 값으로 사전 키를 얻으려면 표준 사전 이외의 추가 조회 작업이 필요합니다. 기능. 이를 달성하는 방법은 다음과 같습니다.
FirstOrDefault() 메서드 사용:
사전의 값이 고유하다고 보장되지 않는 경우 FirstOrDefault( ) Enumerable 클래스의 메서드를 사용하여 첫 번째로 일치하는 값을 찾습니다.
// Dictionary with string keys and values Dictionary<string, string> types = new Dictionary<string, string>() { { "1", "one" }, { "2", "two" }, { "3", "three" } }; // Get the key associated with the value "one" string myKey = types.FirstOrDefault(x => x.Value == "one").Key;
여기서 이 경우 myKey에는 "1" 값이 포함됩니다. 사전에 있는 여러 값이 동일한 값을 갖는 경우 이 접근 방식은 키를 반환하지 않을 수 있습니다.
역사전 만들기:
또는 값이 고유하고 읽기보다 덜 자주 삽입되는 경우 값이 키이고 키가 다음인 역 사전을 만들 수 있습니다. 값:
// Create an inverse dictionary Dictionary<string, string> inverseTypes = new Dictionary<string, string>(); // Populate the inverse dictionary foreach (var kvp in types) { inverseTypes[kvp.Value] = kvp.Key; } // Get the key associated with the value "one" string myKey = inverseTypes["one"];
이 접근 방식을 사용하면 별도의 조회 없이 역사전을 사용하여 직접 조회 작업을 수행할 수 있습니다. 이 옵션은 역사전 생성으로 인해 추가 메모리 오버헤드가 발생한다는 점을 명심하세요.
위 내용은 C#의 값에서 사전 키를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!