string err = "";
string fileName = "1.jpg";
string msg = string.Format("{err:'{0}',msg:'../img/product/{1}'}", err, fileName);这几句话运行的话会抛出一个FormatException,不知道什么原因

解决方案 »

  1.   

    { 是预留字符 不能直接使用string msg = string.Format("{err:'{0}',msg:'../img/product/{1}'}", err, fileName);
    =>
    string msg = string.Format("{2}err:'{0}',msg:'../img/product/{1}'}", err, fileName,"{");
      

  2.   

    原因1楼已经说明白了,在下再补充下:LS说的保留字符是指string.Format函数的格式串保留字符。不止是'{','}'也是其保留字符。
    因此正确的修改应该是这样:string msg = string.Format("{err:'{0}',msg:'../img/product/{1}'}", err, fileName);
    =>
    string msg = string.Format("{2}err:'{0}',msg:'../img/product/{1}'{3}", err, fileName,"{","}");或者换个思路:拼字符串:string msg = string.Format("{err:'{0}',msg:'../img/product/{1}'}", err, fileName);
    =>
    string msg = '{' + string.Format("err:'{0}',msg:'../img/product/{1}'", err, fileName) + '}';
      

  3.   


    string err = "";
    string fileName = "1.jpg";
    string msg = string.Format("{{err:'{0}',msg:'../img/product/{1}'}}", err, fileName);
    Response.Write(msg);