我有一种情况,我从XML文档加载一些配置数据,我有一堆包含字符串对的元素。我试着寻找一种将这些存储在一个对象中的好方法。
我喜欢Dictionary<string,string>
之类的东西,除了我希望能够拥有重复的键,我永远不会搜索它的单个值,jsut迭代它以生成一些HTML来放在页面上
有一个好的对象可以使用吗?我知道我可以创建一个自己的小类来保存两位数据,并有一个列表,但这似乎有点过分。
我也可以只有两个列表,只知道一个中的第n个元素与另一个中的第n个元素一起使用。尽管如此,这让我感到害怕。
还有System.Web.UI.Pair似乎做了我想要的但我不确定它是否是在System.Web.UI命名空间中使用它的好习惯......
我可能错过了一些明显的东西,但我想我会问,而不是花费更多的时间来考虑最好的方法来做到这一点。 :)
答案 0 :(得分:11)
您只需使用List<KeyValuePair<string, string>>
或List<Tuple<string, string>>
。
您可以添加以下内容:
// for List<KeyValuePair<string, string>>
list.Add(new KeyValuePair<string, string>(value1, value2));
// for List<Tuple<string, string>>
list.Add(Tuple.Create(value1, value2));
您可以访问以下项目:
foreach(var item in list)
{
// for List<KeyValuePair<string, string>>
var value1 = item.Key;
var value2 = item.Value;
// for List<Tuple<string, string>>
var value1 = item.Item1;
var value2 = item.Item2;
}
答案 1 :(得分:6)
就我个人而言,我会创建一个自己的小类来保存两位数据,并有一个列表,这对我来说似乎是对的。
可能你会迟早会在那里添加一些逻辑。
答案 2 :(得分:0)
我建议使用NameValueCollection
类。