2016-09-23 95 views
0

定界键值对的简单示例是name=brady?在这种情况下,串联很简单,但我正在考虑由这种对组成的字典。我在处理很多这些值作为表单数据和其他上下文,并且很快做出了一个粗略的字典,但是如果它没有重新发明轮子,我们会对它进行改进以备将来使用。在.NET中是否有类似于分隔键值对的东西?

这个问题的关键是,确实特殊键值对我想存在[1],如果没有,我会延长Dictionary<TKey, TValue>,因为总是我的注意。

有时人们在这里问很愚蠢的问题,所以我原谅那些谁回答这个,好像我是熟练编码器岩石的肿块。

[1]这样做,但是为MS的代码和唯一的具有内部可访问性,如保罗·摩根多指出。现在,如果MS有这样一个班级,为什么他们不只是贴一本普通的词典,就像有人告诉我要做的一样。

+4

你能否提供更多细节?这与“字典”有什么不同? –

+1

还有一个现有的'KeyValuePair '通用结构(由'Dictionary '使用)。听起来就像你只需要一个Parse()函数来处理你的数据。 –

+1

@CurtisLusmore扩展词典有一对分隔符,一对隔板,字符转义功能,和一个'的ToString()'那将其连接所有样形式数据一般的情况,和一个'解析()'功能,也许'排序()'按键或按值,开始。它比总是使用'Dictionary '更方便,并且手动完成其余部分。 – ProfK

回答

1

这是不公开的,我记得有往返的问题,但你可以去看看HttpValueCollection

+0

这是一条评论,而不是答案。您需要对此进行充实,以便它包含足够的内容,以便即使在没有链接的情况下也能回答问题。 – Enigmativity

+0

谢谢你是唯一的读者,了解我的意思。 – ProfK

+0

我认为一个小的复制和粘贴,有一些调整,'HttpValueCollection'源将做得很好,谢谢。 – ProfK

1

我认为你可以使用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"]); 
+0

谢谢。看到其他评论员都告诉我使用一个正常的字典或一个特殊的序列化程序,如果还没有这样一本字典,我打算这么做。 – ProfK

相关问题