• .NET10中OperatingSystem的用途和用法
  • 发布于 12小时前
  • 42 热度
    0 评论
1、OperatingSystem
它的主要作用是:
.查看当前程序运行在什么系统(Windows、Linux、macOS、Android 等)。
.判断系统版本号(比如 Windows 10、Android 12、macOS 13)。
.方便做兼容性判断 —— 在代码里你可以根据不同系统或版本,决定是否启用某些功能。
成员名称 类型 说明(通俗易懂)
ServicePack 属性 (string) 操作系统的补丁/服务包版本,没有就返回空字符串。
Platform 属性 (PlatformID) 系统平台类型(Windows、Linux、MacOSX 等)。
Version 属性 (Version) 系统版本号(主版本、次版本、构建号、修订号)。
VersionString 属性 (string) 平台 + 版本号 + 服务包的完整字符串描述。
IsAndroid() 静态方法 判断是否在 Android 系统运行。
IsAndroidVersionAtLeast(...) 静态方法 判断 Android 版本是否大于等于指定版本。
IsBrowser() 静态方法 判断是否在浏览器 (WASM) 运行。
IsFreeBSD() 静态方法 判断是否在 FreeBSD 系统运行。
IsFreeBSDVersionAtLeast(...) 静态方法 判断 FreeBSD 版本是否大于等于指定版本。
IsIOS() 静态方法 判断是否在 iOS 或 MacCatalyst 系统运行。
IsIOSVersionAtLeast(...) 静态方法 判断 iOS/MacCatalyst 版本是否大于等于指定版本。
IsLinux() 静态方法 判断是否在 Linux 系统运行。
IsMacCatalyst() 静态方法 判断是否在 Mac Catalyst 运行。
IsMacCatalystVersionAtLeast(...) 静态方法 判断 Mac Catalyst 版本是否大于等于指定版本。
IsMacOS() 静态方法 判断是否在 macOS 运行。
IsMacOSVersionAtLeast(...) 静态方法 判断 macOS 版本是否大于等于指定版本。
IsOSPlatform(string platform) 静态方法 判断是否在指定平台运行(参数写 "Windows"、"Linux"、"iOS" 等)。
IsOSPlatformVersionAtLeast(...) 静态方法 判断指定平台的版本是否大于等于某个版本。
IsTvOS() 静态方法 判断是否在 tvOS 运行。
IsTvOSVersionAtLeast(...) 静态方法 判断 tvOS 版本是否大于等于指定版本。
IsWasi() 静态方法 判断是否在 WASI 环境运行。
IsWatchOS() 静态方法 判断是否在 watchOS 运行。
IsWatchOSVersionAtLeast(...) 静态方法 判断 watchOS 版本是否大于等于指定版本。
IsWindows() 静态方法 判断是否在 Windows 系统运行。
IsWindowsVersionAtLeast(...) 静态方法 判断 Windows 版本是否大于等于指定版本。
Demo:
using System.Runtime.InteropServices;

Console.WriteLine($"当前系统版本是否大于10:{OperatingSystem.IsWindowsVersionAtLeast(10)}");
var os = Environment.OSVersion;
Console.WriteLine($"当前系统:{os.VersionString}");
2、ModuleInitializer
在Main函数前执行:
using System.Runtime.CompilerServices;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Main函数执行");
    }
}
public static class InitModule
{
    [ModuleInitializer]
    internal static void Init()
    {
        Console.WriteLine("在Main函数前执行");
    }
}

用户评论