我将代码从java转换为c#并且遇到了int和uint。 Java代码(摘录):
public static final int SCALE_PROTO4_TBL = 15;
public static final int [] sbc_proto_4 = { 0xec1f5e60 >> SCALE_PROTO4_TBL };
转换后的c#代码(摘录):
public const int SCALE_PROTO4_TBL = 15;
int[] sbc_proto_4 = new int[] { 0xec1f5e60 >> SCALE_PROTO4_TBL };
这会导致以下编译错误: 错误CS0266无法隐式转换类型' uint' to' int'。存在显式转换(您是否错过了演员?)
有很多像上面这样的代码,但我不确定是否应该将所有Java int转换为C#uint' s?我记得C#uint没有存储负值,如果java int是负数,那么我就遇到了问题。
关于如何解决问题的任何意见?
答案 0 :(得分:1)
您可以尝试这样:
p4 status
即,你必须明确地转换uint(0xec1f5e60)。