首页 > 解决方案 > “Environment.Is64BitProcess”是否等于“IntPtr.Size == 8”?

问题描述

由于“IntPtr.Size”是根据当前进程检查int指针的大小,是不是和“Environment.Is64BitProcess”一样?

如果是,为什么我只能看到“返回真/假”(如果您使用 dnSpy 从“系统”重构代码)?

dnspy

如果不是,它们之间有什么区别吗?在哪里使用什么?

标签: .netenvironmentintptr

解决方案


在现代运行时(网络核心)Is64BitProcess是通过IntPtr.Size == 8. 见

您看到false是因为您正在检查 32 位 mscorlib。64位位于C:\Windows\Microsoft.NET\Framework64\v4.0.30319并始终返回true


推荐阅读