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函数前执行"); }}
声明:来自硅基-桂迹,仅代表创作者观点。链接:https://eyangzhen.com/2834.html