|
|
1
7
您的代码会导致正在处理的数据类型溢出。 vb.net的默认行为是检查算术运算,而在c中则是不检查算术运算。 添加一个 checked 围绕C代码的语句也会失败。
修复代码以停止溢出。正如我下面的评论所提到的,算术溢出并不一定要被忽略。您在这里执行的操作可能会导致意外的结果,您应该为此进行显式编码(通过增加类型的大小或处理失败)。
您应该(IMO)做的最后一件事是在项目属性、编译选项卡、高级编译器设置按钮下,选中标记为“删除整数溢出检查”的复选框。我个人认为这是个坏主意,我个人用
|
|
|
2
1
检查您的翻译是否
是
或者不,就像在vb.net中一样,声明数组时使用的是最后一个元素的索引,而不是大小本身。 根据您如何翻译解码,您必须检查代码的其余部分以使其适应您选择的版本。 |
|
4
0
我注意到您的C代码不包含强制转换,但您的vb.net代码包含强制转换。它是 可能的 强制转换将导致位转换为位,从而导致溢出。(看不到数据就无法判断。)删除它。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |