<分区>
我有一个类似这样的 uri 字符串:http://example.com/file?a=1&b=2&c=string%20param
是否有一个现有函数可以将查询参数字符串转换为字典,方法与 ASP.NET Context.Request 相同。
我正在编写控制台应用程序而不是 Web 服务,因此没有 Context.Request 为我解析 URL。
我知道自己破解查询字符串非常容易,但我宁愿使用 FCL 函数(如果存在的话)。
<分区>
我有一个类似这样的 uri 字符串:http://example.com/file?a=1&b=2&c=string%20param
是否有一个现有函数可以将查询参数字符串转换为字典,方法与 ASP.NET Context.Request 相同。
我正在编写控制台应用程序而不是 Web 服务,因此没有 Context.Request 为我解析 URL。
我知道自己破解查询字符串非常容易,但我宁愿使用 FCL 函数(如果存在的话)。
最佳答案
使用这个:
string uri = ...;
string queryString = new System.Uri(uri).Query;
var queryDictionary = System.Web.HttpUtility.ParseQueryString(queryString);
Tejs 的这段代码不是从 URI 获取查询字符串的“正确”方法:
string.Join(string.Empty, uri.Split('?').Skip(1));
关于c# - 从 Uri 获取单个查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2884551/