社区
C#
帖子详情
c类型转为c#.char[] 对应c#什么类型?
banping
2007-08-02 05:01:22
有一个结构体在c中定义的,
里面有一个项是char name[40]
看了下帮助在vb6.0中是直接转为string *40,现在在vb.net和在c#中如何转化?
我在vb.net中使用space(40),name =new string('/0',40)都没有用报错是非法访问不可写的内存.而在vb6.0中是没有问题的.关键就是要定义一个定长的string.
...全文
1784
20
打赏
收藏
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.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
banping
2007-08-03
打赏
举报
回复
结帐,需要使用byte[]来定义,就没有问题了.
banping
2007-08-03
打赏
举报
回复
使用string 报错尝试读取或写入受保护的内存
lifeixie
2007-08-03
打赏
举报
回复
byte[] char[]
Mingle_Qin
2007-08-03
打赏
举报
回复
string strData = string.Empty;
strData = strData.PadLeft(40);
char[] cChar = strData.ToCharArray();
banping
2007-08-03
打赏
举报
回复
用 string 即可,何必那么麻烦,就是用string 的时候报错的呀.说是写入不可访问内存.
showmy
2007-08-02
打赏
举报
回复
JF UP 学习
MicroDeviser
2007-08-02
打赏
举报
回复
数组不是定长的吗?
amandag
2007-08-02
打赏
举报
回复
用 string 即可,何必那么麻烦
Jinglecat
2007-08-02
打赏
举报
回复
C/C++ 中字符串实际上是 字符数组,
.net 中直接用 System.String 表示
banping
2007-08-02
打赏
举报
回复
typedef struct
{
char name[40]; //姓名
char sex[10]; //性别
char people[20]; //民族,
}IDCARD_ALL;
这个结构体如何在.net中定义呀,这个结构体是要用ref传递过去有dll付职的.
定义char[] name,传过去报错.string 也错,资料中的vb例子是用的string *40.
求高人指点
nacarat
2007-08-02
打赏
举报
回复
char[] c = new char[40];
yourmethod(ref c);
wdzr_826
2007-08-02
打赏
举报
回复
StringBuilder
kingonehappy
2007-08-02
打赏
举报
回复
byte[]?
Avoid
2007-08-02
打赏
举报
回复
传入StringBuilder不要在参数前添加ref
banping
2007-08-02
打赏
举报
回复
to:wangsaokui(无间道III(终极无间)C#MVP)
关键是这个值我是要用ref 传递到dll中去写的.不是由我控制的.如果传递的不是定长是会报错的
wangsaokui
2007-08-02
打赏
举报
回复
当然可以添加别的字符,不只是长度
wangsaokui
2007-08-02
打赏
举报
回复
关键就是要定义一个定长的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 在左边或右边添加空格保证长度
mapserver
2007-08-02
打赏
举报
回复
char name[40]
就是40个长度的字符数组嘛,在c#中
char[] 不可以吗?
List<Char> 不可以吗?
用StringBuilder到也是可以的。
viena
2007-08-02
打赏
举报
回复
byte[]吧
Avoid
2007-08-02
打赏
举报
回复
StringBuilder sb = new StringBuilder(40)
C#
中enum和string的相互转换
我们的对象中包含枚举
类型
,在序列化成Json字符串的时候,显示的是枚举
类型
对应
的数字。因为这是枚举的 本质所在,但是很多时候需要在JSON转化的时候做一些操作,使之显示字符串,因为用户需要字符串。 方法就是:在...
C++、
C#
类型
对应
关系
//C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const
char
* 变量名1, unsigned
char
* 变量名2) ... //
C#
调用C++的DLL搜集整理的所有数据
类型
转换方式,可能会有重复或者多种方案,自己多..
C中的
char
*
对应
C#
中的Intptr
C中的
char
*
对应
C#
中的Intptr,有时候
C#
中也可以用byte[] 代替
类型
“System.String”的对象无法转换为
类型
“System.
Char
”。
在机房合作中遇到了这个问题查了很多资料都没有找到相关知识,当然不排除查询不当的...但是查询之后发现数据库里的字段根本没有string
类型
,要想表示字符串可能是
char
或者是V
char
两种
类型
。所以数据库中的字符
类型
是
char
和数值的
类型
转换
char
的表示范围为\u0000~\uffff,
转为
ASCII码为0 ~ 65535,所以如果
对应
的数值
类型
在这个范围,就可以和
char
进行
类型
转换。 一、 byte、short、int、long和
char
的转换 在进行转换之前,首先要清楚每个
类型
对应
的具体...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章