.NET 中是否有类似分隔键值对的内容?

Is there anything like a delimited key-value pair in .NET?

分隔键值对的一个简单示例是 name=brady?在这种情况下,串联很简单,但我正在考虑由这样的对组成的字典。我经常处理这些值的集合作为表单数据和其他上下文,并很快制作了一个粗略的字典,但如果它不是重新发明轮子,我想改进它以供将来使用。

这个问题的重点是,我要的特殊键值对是否存在[1],如果不存在,我会扩展Dictionary<TKey, TValue>,一如既往地受到我的关注。

这里有时候有人会问很蠢的问题,所以我原谅那些回答这个问题的人,就好像我是一个像一块石头一样熟练的编码员。

[1] 确实如此,但正如 Paulo Morgado 指出的那样,它是 MS 代码并且仅具有内部可访问性。现在,如果 MS 有这样的 class,他们为什么不像有些人告诉我的那样,只贴一个普通的字典。

它不是 public,我记得它有往返问题,但你可以看看 HttpValueCollection

我想你可以使用 https://msdn.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection(v=vs.110).aspx

HttpUtility 提供了从字符串管理此类集合的方法。

var parameters = HttpUtility.ParseQueryString(string.Empty);
parameters["foo"] = "text";
parameters["baz"] = "asdff=32322";
Console.WriteLine(parameters.ToString());

parameters = HttpUtility.ParseQueryString(parameters.ToString());
Console.WriteLine(parameters["foo"]);
Console.WriteLine(parameters["baz"]);