【发布时间】:2015-01-12 22:58:16
【问题描述】:
如何在没有制造商编号的情况下获取操作系统版本? 我试过了:
Environment.OSVersion.Version
但是这个返回,例如 Windows 8 中的“6.2.9200.0”,我只需要版本号(6.2),没有构建器(9200)。我还需要代码在所有操作系统中都能正常工作。
如果我使用:
Environment.OSVersion.Major + "." + Environment.OSVersion.Version.Minor
这在所有操作系统中都可以正常工作吗?
示例:
Windows 8 => 6.2
OSX => 10.5.8
提前致谢!
编辑:
问题是,我有一个 java 应用程序,它创建一个具有操作系统版本的文件(使用函数“system.getproperty(os.version)”)作为正则表达式(如“^10\.5\.\d$”)。
我需要使用 C# 应用程序将此文件与实际操作系统版本进行比较。所以我需要一个像java函数“system.getproperty(os.version)”一样工作的C#函数。 (我无法更改 java 应用程序)。
【问题讨论】:
-
如果你这样做
Environment.OSVersion.Major + "." + Environment.OSVersion.Version.Minor你肯定不会得到10.5.8 -
但在 OSX 版本 10.5.8 中,10 是主要的,而 5.8 不是次要的?
-
Version.Minor是int属性。无法将5.8存储在int属性中。 -
啊,你是对的,谢谢。
标签: c# operating-system