"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