[英]C# compile errors in unsafe code
编译VS 2010 c#项目(.NET 4.0,任何CPU,允许不安全的代码=检查)我们得到各种编译错误,如下所示:
运算符'*'不能应用于'System.IntPtr'和'int'类型的操作数
常量值'325486741'无法转换为'int'(使用'unchecked'语法覆盖)
无法将'string'类型转换为'char *'
无法将类型'long'隐式转换为'byte *'。 存在显式转换(您是否错过了演员?)
无效的表达方式“ ref”
所有这些都是以“不安全”的方式发生的。
如何解决这些问题?
我们需要看看你的代码,但我会说“不安全”部分与错误无关,因为那些似乎是铸造等问题。
以下是一些可能有用的信息:
尝试先转换为int或long。
尝试使用unchecked((int)变量)。
尝试使用:
fixed (char* pChar = my_string) { ... }
尝试强制转换:byte * pB =(byte *)value;
如果没有代码,我不能说太多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.