根据您的问题,我假设您使用 [Name]、[Age] 和 [Favorite Color] 作为键。有很多方法可以使用这些键将数据放入字典中,但真正的问题是如何取回数据?
Dictionary 中的键应该是唯一的,因此您需要找到一些唯一的数据以将其用作键。在您的情况下,测试文件看起来像人员列表,其中每一行都包含人员的数据。所以最自然的方法是编写一个字典,其中包含有关人员的行,其中“唯一数据”应该是人员的姓名,除非它不重复。
然而在现实生活中,人名通常是一个不好的选择,(不仅因为它可能会随着时间的推移而改变,而且因为同名的概率非常高),所以使用人工键代替(行号、Guids 等)
编辑我看到属性的数量可能会有所不同。所以你需要使用嵌套字典。外部 - 用于“人员”,内部用于人员属性:
Dictionary<string, Dictionary<string, string>> person_property_value;
但是,为了使您的数据结构更易于理解,您应该将内部字典放在 Person 类中:
class Person{
public readonly Dictionary<string, string> props;
public Person()
{
props = new Dictionary<string, string>();
}
}
现在您将 Person 添加为:
Person p = new Person();
p.props['Name'] = 'John Doe';
p.props['Age'] = 'age';
dictionary.Add('John Doe', p);
并将其取回:
Person p = dictionary[Name];
现在为了允许几个人共享相同的名字,你将字典声明为Dictionary<string, List<Person>>