编译VS 2010 c#项目(.NET 4.0,任何CPU,允许不安全的代码=已检查)我们收到各种编译错误,如下所示:
运算符'*'不能应用于'System.IntPtr'和'int'类型的操作数
常量值'325486741'无法转换为'int'(使用'unchecked'语法覆盖)
无法将'string'类型转换为'char *'
无法将类型'long'隐式转换为'byte *'。存在显式转换(您是否缺少演员?)
无效的表达式术语'ref'
所有这些都发生在'不安全'的方法中。
如何解决这些问题?
答案 0 :(得分:2)
我们需要查看您的代码,但我会说“不安全”部分与错误无关,因为那些似乎是铸造等问题。
以下是一些可能有用的信息:
首先尝试转换为int或long。
尝试使用unchecked((int)变量)。
尝试使用:
fixed (char* pChar = my_string) { ... }
尝试转换:byte * pB =(byte *)value;
如果没有代码,我不能多说这个。