单词项目的字典

时间:2010-05-02 20:18:48

标签: c# dictionary

如果Dictionary<object, object> myDictionary碰巧包含单个项目,那么检索值对象的最佳方法是什么(如果我不关心密钥)?

if (myDictionary.Count == 1)
{
    // Doesn't work
    object obj = myDictionary.Values[0];
}

由于

5 个答案:

答案 0 :(得分:8)

根据您是否希望它失败,如果有多个对象,您可以使用

myDictionary.Value.Single();//Will fail if there's more than one

myDictionary.Value.First();//Will just return the first regardless of the count

答案 1 :(得分:3)

object obj = myDictionary.Values.Single();

答案 2 :(得分:3)

我永远不会假设只有一个。如果你知道总会有一个,那么为什么要使用字典?

答案 3 :(得分:1)

您无法直接或通过索引获取值,您必须知道密钥:

object obj = yourDictionary[theKeyThatYouHappenToKnow];

或使用枚举器:

var en = yourDictionary.GetEnumerator();
en.MoveNext();
object obj = en.Current.Value;
en.Dispose();

如果您使用的是框架3.5,您还可以使用SingleFirst等扩展方法为您使用枚举器。

答案 4 :(得分:0)

我认为你可以使用迭代器。

myDictionary.GetEnumerator().Current