Ответ 1
Если вы используете .NET 4, вы можете использовать
Dictionary<string, Tuple<string, string>>
Если вы этого не сделали, вы можете создать свой собственный тип 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;
}
}
Затем вы можете использовать:
Dictionary<string, NameAndAddress>
что делает его очень понятным, что будет сохранено.
Вы можете реализовать равенство и т.д., если хотите. Лично я хотел бы, чтобы подобное упрощалось - анонимные типы почти делают это, но тогда вы не можете назвать их...