哪种数据类型用于C#中的无符号字符
本文关键字:无符号 字符 数据类型 用于 | 更新日期: 2023-09-27 17:58:01
我有一个c++应用程序。在该应用程序中,函数之一是返回unsigned char
值。我想把那个函数转换成C#代码。但是,我对c++编程的知识还不够。我想知道在c#中,对于c++无符号字符,将放置什么数据类型。
c++函数看起来像这个
unsigned char getValue(string s)
{
//SOME CODE HERE
}
C#中unsigned char
的等价物是byte
。
byte getValue(string s)
{
}
第二个选项:如果使用无符号字符作为字符存储,则应该使用char
:
char getValue(string s)
{
}
您必须记住,C++对字符和8字节值一视同仁。因此,例如在C++中:
'A' + 'B' == 65 + 66 == 65 + 'B' == 'A' + 66
您必须从上下文中检查unsigned char
是字符还是数字。根据作为参数传递的字符串,可以猜测,函数处理的字符大多是char
C#类型。
您正在查找byte
类型。此外,如果您需要的话,这个问题还有其他映射。
如果您的C#
代码应该将值视为字符,那么char
类型就是您想要的。我们之所以建议字节,是因为我们假设您希望将该值视为8-bit
整数。
C++ unsigned char = C# byte
C++ char = C# sbyte
使用char
。C#中的char
既没有符号也没有符号。它是16位值。
如果您不想保留字符,而是保留实际的二进制数,那么您应该选择byte
,这是一个无符号整数,就像c++中的unsigned char
一样。
另请参阅:什么是无符号字符?