【发布时间】:2015-01-06 08:21:39
【问题描述】:
我有一点基本问题。
在 C 中没有 byte 类型,因此我将其定义为 unsigned char 以将缓冲区保存到我需要读取和处理的系统文件。
我的 C 程序现在需要使用具有 byte 内置类型但定义为 'unsigned int' 的 C#。
在两个系统之间来回投射会不会导致任何问题? 我认为无论使用什么“词”,底层存储都保持不变,对吧。所以做类似的事情
//C#
//byte[] b=new byte[2];
//b[0]=11;
//b[1]=12;
C
byte b[2];//unsigned char
b[0]=(byte)(11);
b[1]=(byte)(12);
两者无差别。
【问题讨论】:
-
C或C++?您是想将您的程序转换为 C# 还是让两个程序相互通信? -
注意:那些演员表没用。
-
有什么问题?您的
byte类型是 8 位无符号整数值,而 C# 中的byte类型也是 8 位无符号整数。