2011-03-20 3 views
1

에 목록에서 첫 번째 요소를 얻을 내가 입력 한 특정 키 목록에서 첫 번째 요소를 얻으려면 다음과 같은 구조를사전 C#을

Dictionary<string, List<object>> 

를 사용합니다.

당신에게

+2

1에 최소 1 항목을 프로그래머 가정? 2. 제공된 키가 실제로 사전에 존재한다는 보장이 있습니까? –

답변

3
if (myDictionary.ContainsKey("myKey")) 
    var myItem = myDictionary["myKey"].FirstOrDefault(); 
+0

다른 답변도 작동하지만이 키 또는 값이없는 경우이 예외는 예외를 throw하지 않습니다. 그게 당신이 원하는 것일 수도 있고 아닐 수도 있습니다 ... –

+0

@ 로버트 - 예외적 인 경우에 예외를 남기려고합니다. –

+0

확실히, 나는 OP를 의식적으로 결석 한 키나 값이 자신의 경우에 예외적인지 여부를 결정할 수 있도록 이것을 호출하고 싶었다. –

1
object item = dictionary[key].First(); 

감사 또는 목록에 어떤 항목을 포함 확신 할 수없는 경우 당신은 FirstOrDefault를 사용할 수 있습니다. 당신이 확신 할 수없는 경우

는 또는 키가 존재 :

object item = dictionary.ContainsKey(key) ? dictionary[key].FirstOrDefault() : null; 
if(item != null) { ... } 
0
var myValue = myDict[myKey][0]; 

이 당신을 위해 작동하지 않는 이유는 무엇입니까?

0
Dictionary<string, List<object>> item = new Dictionary<string, List<object>>(); 
string key="this is the key"; 
object firstItem = item[key][0]; 

이 코드는 키가 존재하고 그건 당신이 시도하고 무슨 일이 있었는지 무엇을 수집