C# 使用冒号分隔的多个值解析asp.net中的查询字符串

C# 使用冒号分隔的多个值解析asp.net中的查询字符串,c#,asp.net,C#,Asp.net,我需要解析一个奇怪的查询字符串结构。格式为-key=N:1042,B:10,C:200。我以前从未遇到过这种格式,有没有一种简单的方法可以在asp.net中提取N、B和C的值 谢谢 使用拆分方法: string key = "N:1042,B:10,C:200"; string[] values = key.Split(','); for (int i = 0; i < values.Length; i++) { var nbc = v

我需要解析一个奇怪的查询字符串结构。格式为-key=N:1042,B:10,C:200。我以前从未遇到过这种格式,有没有一种简单的方法可以在asp.net中提取N、B和C的值


谢谢

使用拆分方法:

string key = "N:1042,B:10,C:200";
string[] values = key.Split(',');

for (int i = 0; i < values.Length; i++)
            {
              var nbc = values[i].Split(':')[1];
              //Do something with your var..
            }
更多信息请点击此处:

非常简单:

var val = Request.QueryString.Get("key");
var terms = val.Split(',');
foreach (var term in terms)
{
   var pair = term.Split(':');
   var key = pair[0];
   var v = pair[1];
}

只是一个建议,您还可以使用LINQ获得解析/拆分值。像下面这样

var val = Request.QueryString.Get("key"); //"N:1042,B:10,C:200"
if (val.IndexOf(",") != -1)
{
    var parsedValue = (from m in val.Split(',')
                where m.Split(':').Count() == 2
                select new { key = m.Split(':')[0], value = m.Split(':')[1] });
}
输出


变量提取=ext.split',';var n=提取[0];var b=提取物[1];var c=摘录[2]。当然,检查数组的长度是否为null refIs使用linq会导致性能损失吗?这个页面点击率很高,并为产品回收了大量数据。不,它不应该对性能有任何影响,只是一种新的方式。