我是这么分解的string S=“A=a&B=b&C=c”;
const string VAL1=A;
const string VAL2=B;
const string VAL3=C;
Object o=new Object();
string[] Str=S.splite(new char[]{'&'});
foreach(var val in Str)
{
string[] value=val.splite(new char[]{'='});
if(value[0]==A)
{
o.a=value[1];
}
else if(value[0]==B)
{
o.b=value[1];
}
else if(value[0]==C)
{
o.b=value[1];
}
}
但是我听我师傅说还有一种是用dictionary来做的,可以省略if else if结构,求高手赐教stringdictionary

解决方案 »

  1.   

    string s = "A=a&B=b&C=c";
    Dictionary<string, string> dictionary = s.Split('&').ToDictionary(x => x.Split('=')[0], y => y.Split('=')[1]);
    Response.Write(dictionary["B"]); //输出参数B的值
      

  2.   

    还可以:
    string s = "A=a&B=b&C=c";
    NameValueCollection rs = HttpUtility.ParseQueryString(s);
    Response.Write(rs["B"]); //输出参数B的值
      

  3.   

    建议先以&&或||先将字符串拆分到一个数组里,然后再从这数组里取,给操作符左右加上空格,以空格为拆分符再拆分后压栈,若是操作符则压到另一个栈里,从第一个栈的对象里取两个,再从操作符所有的栈弹一个操作符出来进行操作。