你肯定搞错了。C#中的string是一个类,是一个引用类型,和C的char *是不一样的。
string a = "abc";
string b = "de";
string c = "fghi";
string d = a + b + c; // d == "abcdefghi"

解决方案 »

  1.   

    是有结束符的,而且也是char数组,你试试replace()把"\0"换掉
      

  2.   

    我觉得应该有结束符的,否则它的LEN如何来的?
    我的STRING是这样
    Byte[] upstr=new upstr[50];
    string str1=System.Text.Encoding.ASCII.GetString(upstr,1,10);
    string str2=System.Text.Encoding.ASCII.GetString(upstr,1,10);
    string str3=System.Text.Encoding.ASCII.GetString(upstr,1,10);
    string allstr=str1+str2+str3;
    只能看到第一个str1.
    我跟踪后发现str1="123";
    upstr={'1','2','3','\0',...}
    我觉得可能是'\0'的原因,我想用TRIM,但好象不行。