gpt4 book ai didi

c# - 在 .NET 中操作 QueryString

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:31 25 4
gpt4 key购买 nike

我在 StackOverflow 上看到了多个示例和答案,解释说这是创建要操作的 QueryString 的推荐方法。

NameValueCollection test = HttpUtility.ParseQueryString(String.Empty);
test.Add("hello", "world");
Console.WriteLine(test.ToString());

但是它返回的只是

System.Collections.Specialized.NameValueCollection

这是怎么回事?用于测试的简单 .NET4 控制台应用程序(也尝试过早期的框架)。如果我不给它一个空字符串,它就会开始工作,但是有这么多帖子推荐这个作为解决方案,这似乎很奇怪。将它包装在一个 try/catch 语句中,只是为了查看是否发生了任何奇怪的事情,没有抛出异常。我真的应该只给它一个随机字符串“a=b”,然后将其从 NameValueCollection 中删除以获得可用的 HttpValueCollection 吗?

我的最终目标是将它与 UriBuilder 一起使用,从中获取 Query 属性并将其提供给 ParseQueryString。但是有时可能没有查询字符串,UriBuilder.Query 将返回一个空字符串...因此出现了这个问题。

编辑: 以防有人感到困惑,我打算让它打印出来的是与集合等效的查询字符串。因此,如果我要向集合中添加另一个值

test.Add("other", "value");

ToString() 方法的结果应该是

"hello=world&other=value"

编辑嗨,戴夫我的主张?为什么它不起作用... enter image description here

最佳答案

你的代码是错误的,要打印测试内容你应该这样做:

foreach(string s in test.AllKeys)
{
Console.WriteLine("{0}-{1}", s, test[s]);
}

编辑: 我不明白你的意思 Nicholi,看到这张图片,我得到了正确的类 HttpValueCollection 也是从解析方法中的空字符串开始,而不是添加你好 key ,看到我的 test.Add 被注释掉了,AllKeys 是空的。

所以我的 test.ToString() 返回的是空的,不是 System.Collections.Specialized.NameValueCollection 正如您在问题中提到的那样。

My debug test

您还想要/需要/询问/要求什么? ;-)

关于c# - 在 .NET 中操作 QueryString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com