C#字典,2个值

cam*_*cam 13 c# dictionary

使用一个密钥并将两个值拉出来的最佳C#数据结构是什么?

基本上我需要一个Dictionary<string, string, string>.有这样的事吗?

Jon*_*eet 21

如果您使用的是.NET 4,则可以使用

Dictionary<string, Tuple<string, string>>
Run Code Online (Sandbox Code Playgroud)

如果你不是,你可以创建自己的Tuple类型,以相同的方式工作:)

或者,如果您只在一个地方需要它,您可以创建自己的类型,使用适当的名称整齐地封装两个字符串.例如:

public sealed class NameAndAddress
{
    private readonly string name;
    public string Name { get { return name; } }

    private readonly string address;
    public string Address { get { return address; } }

    public NameAndAddress(string name, string address)
    {
        this.name = name;
        this.address = address;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用:

Dictionary<string, NameAndAddress>
Run Code Online (Sandbox Code Playgroud)

这使得很清楚将要存储什么.

如果你愿意,你可以实现平等等.就个人而言,我希望看到这种事情变得更容易 - 匿名类型几乎可以做到,但是你不能命名它们......


Dan*_*vil 6

class A {
  public string X, Y;
}

Dictionary<string, A> data;
Run Code Online (Sandbox Code Playgroud)