我想要保存一些数据到文件.            FileStream fst = new FileStream(fn, FileMode.Append);
            StreamWriter swt = new StreamWriter(fst, System.Text.Encoding.GetEncoding("utf-8"));
            //写入
            swt.Write(dat, 0, dat_len);
            swt.Close();
            fst.Close();Write 需要 一个数组 char[] 做为参数,可是我的 dat 是 StringBuilder 类型
请问如何转换?

解决方案 »

  1.   


                StringBuilder s = new StringBuilder();
                char[] mychar = s.ToString().ToCharArray();
      

  2.   

    问题是,我的 StringBuilder 里面有 \0 之类的字符
    直接 ToString() 似乎会被截去吧?
      

  3.   

                StringBuilder s = new StringBuilder();
                s.Append("fdsafd ");
                char[] mychar = s.ToString().ToCharArray();
                foreach (char a in mychar)
                {
                    MessageBox.Show(a.ToString());
                }
    不会吧
      

  4.   

    0x0不会被截断,在C#里0x0就是一个字符,并不是字符串结束标志,所以转换后数组里还是有这些字符的。
      

  5.   

    在C语言里面字符串以\0结束
    不过C#有专门的string,应该不会吧