"Environment.Is64BitProcess" 等于 "IntPtr.Size == 8" 吗?
Does "Environment.Is64BitProcess" equal to "IntPtr.Size == 8"?
既然“IntPtr.Size”是根据当前进程检查int指针的大小,那么它和“Environment.Is64BitProcess”一样吗?
如果是,为什么我只能看到“return true/false”(如果你使用dnSpy从“系统”重构代码)?
如果不是,它们之间有什么区别?在哪里使用什么?
在现代运行时(网络核心)中,Is64BitProcess
是通过 IntPtr.Size == 8
定义的。参见 source
您看到 false
因为您正在检查 32 位 mscorlib。 64 位位于 C:\Windows\Microsoft.NET\Framework64\v4.0.30319
并且总是 returns true
既然“IntPtr.Size”是根据当前进程检查int指针的大小,那么它和“Environment.Is64BitProcess”一样吗?
如果是,为什么我只能看到“return true/false”(如果你使用dnSpy从“系统”重构代码)?
如果不是,它们之间有什么区别?在哪里使用什么?
在现代运行时(网络核心)中,Is64BitProcess
是通过 IntPtr.Size == 8
定义的。参见 source
您看到 false
因为您正在检查 32 位 mscorlib。 64 位位于 C:\Windows\Microsoft.NET\Framework64\v4.0.30319
并且总是 returns true