如何在C#中使用C++的string类型
C++里面的string相当于C#里面的stringbuilder,本质上是个char[]。string通过函数c_str可以转换为 char[]类型。
语法:
const char *c_str();
c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。C#中char[]与string之间的转换:
string 转换成 Char[]
string ss = "abcdefg";
char[] cc = ss.ToCharArray();
Char[] 转换成string
string s = new string(cc);
此外,byte[] 与 string 之间的装换
byte[] bb = Encoding.UTF8.GetBytes(ss);
string s = Encoding.UTF8.GetString(bb);
下面我们利用 StringBuilder 来进行数组 与 string 间的转换 , 很简单,代码如下
using System.Text;
StringBuilder sb = new StringBuilder();
foreach(char c in cc)
{
sb.Append(c);
}
string s = sb.ToString();
StringBuilder 的 Append 方法支持多种参数,所以数组转换成string基本上都可以用它。
另外 string[] 转换成string,.Net框架提供了一个使用的方法
string strOr = "OR";
string result = string.Concat(new string[]{" A ",strOr," B ",Environment.NewLine," C ",strOr," D "});
在C#里面采用MemoryStream接收该byte[]数组, 再用根据文字编码, 使用StreamReader将MemoryStream的内容读出即可.
在C#里面采用MemoryStream接收该byte[]数组, 再用根据文字编码, 使用StreamReader将MemoryStream的内容读出即可,这个答案很标准
不是 string类型不一样,而是,没有选择好string的编码
广告 您可能关注的内容 |