c# 检测操作系统版本
我们通过System.Environment.OSVersion.Version获得操作系统的版本号,然后再根据版本号进行判断操作系统是什么版本
Version 类的属性
Operating system | Version number | dwMajorVersion | dwMinorVersion |
Windows 10 | 10.0 | 10 | 0 |
Windows 8.1 | 6.3 | 6 | 3 |
Windows 8 | 6.2 | 6 | 2 |
Windows 7 | 6.1 | 6 | 1 |
Windows Server 2008 | 6.0 | 6 | 0 |
Windows Server 2003 | 5.2 | 5 | 2 |
Windows 2000 | 5.0 | 5 | 0 |
参考于:https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms724834(v=vs.85).aspx
注意:在msdn官方文档有说明 → OSVersion 属性报告两个相同的版本号 (6.2.0.0) Windows 8 和 Windows 8.1。在某些情况下, OSVersion 属性可能不会返回与指定的 Windows 程序兼容性模式功能的版本相匹配的操作系统版本。
代码:

public class GetOSystem { private const string Windows2000 = "5.0"; private const string WindowsXP = "5.1"; private const string Windows2003 = "5.2"; private const string Windows2008 = "6.0"; private const string Windows7 = "6.1"; private const string Windows8OrWindows81 = "6.2"; private const string Windows10 = "10.0"; private string OSystemName; public void setOSystemName(string oSystemName) { this.OSystemName = oSystemName; } public GetOSystem() { switch (System.Environment.OSVersion.Version.Major + "." + System.Environment.OSVersion.Version.Minor) { case Windows2000: setOSystemName("Windows2000"); break; case WindowsXP: setOSystemName("WindowsXP"); break; case Windows2003: setOSystemName("Windows2003"); break; case Windows2008: setOSystemName("Windows2008"); break; case Windows7: setOSystemName("Windows7"); break; case Windows8OrWindows81: setOSystemName("Windows8.OrWindows8.1"); break; case Windows10: setOSystemName("Windows10"); break; } Console.WriteLine(OSystemName); } }
class Program { static void Main(string[] args) { #region 检测系统 new GetOSystem(); #endregion } }
输出结果:
分类:
ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?