C# 解析URL 获取参数 【string转Dic】
主要用于解析Url后缀参数
Eg: UploadType=0&Infocode=1&AttachName=2&Seq=3&Cid=4
public static Dictionary<string, string> ParseQueryString(string url)
{
if (string.IsNullOrWhiteSpace(url))
{
return new Dictionary<string, string>();
}
var uri = new Uri(url);
if (string.IsNullOrWhiteSpace(uri.PathAndQuery))
{
return new Dictionary<string, string>();
}
var paramStr = uri.PathAndQuery;
//1.去除第一个前导?字符
if (uri.PathAndQuery.StartsWith('?'))
paramStr = uri.PathAndQuery.Substring(1);
var dic = paramStr
.Split('&', StringSplitOptions.RemoveEmptyEntries)//2.通过&划分各个参数
.Select(param => param.Split( '=', 2, StringSplitOptions.RemoveEmptyEntries))//3.通过=划分参数key和value,且保证只分割第一个=字符
.GroupBy(part => part[0], part => part.Length > 1 ? part[1] : string.Empty)//4.通过相同的参数key进行分组
.ToDictionary(group => group.Key, group => string.Join(",", group));//5.将相同key的value以,拼接
return dic;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix