C# 当有更多值时,如何从字典中获取值

C# 当有更多值时,如何从字典中获取值,c#,dictionary,C#,Dictionary,我在互联网上搜索了如何制作多值词典,我发现 然后 我的问题是,我如何从字典中获得特定值?例如,如何获取int 42?您需要声明MyType类型的对象来存储字典的值 MyType _myType = someDictionary[1] _myType.SomeVal1 will be equal to "foo" 如果您只想存储一组MyType对象,您可以使用List,这样您就不必显式添加索引器,但仍然可以通过索引访问它。为此请使用tuple请参见someDictionary[1

我在互联网上搜索了如何制作多值词典,我发现

然后


我的问题是,我如何从字典中获得特定值?例如,如何获取int 42?

您需要声明MyType类型的对象来存储字典的值

    MyType _myType = someDictionary[1]
    _myType.SomeVal1 will be equal to "foo"

如果您只想存储一组MyType对象,您可以使用List,这样您就不必显式添加索引器,但仍然可以通过索引访问它。

为此请使用tuple请参见
someDictionary[1]。SomeVal5
?“不必显式添加索引器,但仍然可以通过索引访问它。”我对你想说什么有些模糊的想法。是否“您没有像
字典中那样的键,但是您有索引”?是的,对于数组,您必须指定要存储的值的索引(位置),而列表则不需要。但您仍然可以以相同的方式访问它,列表中的第一项将可访问列表[0],而数组中的第一项将可由数组[0]访问。
var someDictionary = new Dictionary<int, MyType>();
someDictionary.Add( 1, 
                    new MyType{
                        SomeVal1 = "foo",
                        SomeVal2 = "bar",
                        SomeVal3 = true,
                        SomeVal4 = false,
                        SomeVal5 = 42,
                        SomeVal6 = true
                    });
    MyType _myType = someDictionary[1]
    _myType.SomeVal1 will be equal to "foo"