c类型转为c#.char[] 对应c#什么类型?
有一个结构体在c中定义的,
里面有一个项是char name[40]
看了下帮助在vb6.0中是直接转为string *40,现在在vb.net和在c#中如何转化?
我在vb.net中使用space(40),name =new string( '/0 ',40)都没有用报错是非法访问不可写的内存.而在vb6.0中是没有问题的.关键就是要定义一个定长的string.
------解决方案--------------------StringBuilder sb = new StringBuilder(40)
------解决方案--------------------byte[]吧
------解决方案--------------------char name[40]
就是40个长度的字符数组嘛,在c#中
char[] 不可以吗?
List <Char> 不可以吗?
用StringBuilder到也是可以的。
------解决方案--------------------关键就是要定义一个定长的string
你可以在赋值的时候进行限制啊!
// Unicode Mathematical operators
char [] charArr1 = { '\u2200 ', '\u2202 ', '\u200F ', '\u2205 '};
String szMathSymbols = new String(charArr1);
// Unicode Letterlike Symbols
char [] charArr2 = { '\u2111 ', '\u2118 ', '\u2122 ', '\u2126 '};
String szLetterLike = new String (charArr2);
-------------------------------
另外可以
String.PadLeft 或 String.PadRight 在左边或右边添加空格保证长度
------解决方案--------------------传入StringBuilder不要在参数前添加ref
------解决方案--------------------byte[]?
------解决方案--------------------StringBuilder
------解决方案--------------------char[] c = new char[40];
yourmethod(ref c);
------解决方案--------------------C/C++ 中字符串实际上是 字符数组,
.net 中直接用 System.String 表示
------解决方案--------------------用 string 即可,何必那么麻烦
------解决方案--------------------数组不是定长的吗?
------解决方案--------------------byte[] char[]