C#中的char 表示UNICODE,大小2B,与c/c++中有所不同。最近C#中调用C写的DLL的传递char []遇到了问题。不能用c#中的char来使用。在c#中只有byte是1B,因此可以用byte来代替做参数。最后转成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#与C语言之间字符数组的互操作问题,特别是如何处理C#中的char类型与C语言中char类型的不兼容性,并提供了字符串与字符数组互相转换的示例代码。
954

被折叠的 条评论
为什么被折叠?



