C# で現在のオペレーティング システムを特定する
この投稿では、C# でオペレーティング システムを特定する方法について説明します。
1.使用する RuntimeInformation
Class
現在のプラットフォームを識別するために推奨される解決策は、 RuntimeInformation.IsOSPlatform()
からの方法 System.Runtime.InteropServices
名前空間。型の引数を取ります OSPlatform
構造体。次の 4 つのプロパティがあります。 Windows
, Linux
, OSX
、 と FreeBSD
それぞれ Windows、Linux、OSX、および FreeBSD オペレーティング システムを表します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Runtime.InteropServices; public class Example { public static void Main() { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { Console.WriteLine("Windows"); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { Console.WriteLine("Linux"); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { Console.WriteLine("MacOS"); } } } |
を使用して、現在のオペレーティング システムに関する詳細情報を取得できます。 RuntimeInformation.OSDescription
財産。例えば、
1 2 3 4 5 6 7 8 9 10 |
using System; using System.Runtime.InteropServices; public class Example { public static void Main() { Console.WriteLine("OSDescription: {0}", RuntimeInformation.OSDescription); } } |
サンプル出力:
OSDescription: Microsoft Windows 10.0.22000
or
OSDescription: Unix 4.15.0.176
2.使用する OperatingSystem
Class
The OperatingSystem クラスには、現在のランタイム オペレーティング システムに関する情報を提供するいくつかの静的ユーティリティ メソッドとプロパティが含まれています。現在のアプリケーションが Windows、Linux、macOS、または Android で実行されているかどうかを判断するには、次を使用できます。 IsWindows()
, IsLinux()
, IsMacOS()
, IsAndroid()
方法。例えば、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System; public class Example { public static void Main() { if (OperatingSystem.IsWindows()) { Console.WriteLine("Windows"); } else if (OperatingSystem.IsLinux()) { Console.WriteLine("Linux"); } else if (OperatingSystem.IsMacOS()) { Console.WriteLine("MacOS"); } else if (OperatingSystem.IsAndroid()) { Console.WriteLine("Android"); } } } |
オペレーティング システムのプラットフォームやバージョンなど、現在のオペレーティング システムに関する詳細情報を取得するには、 Environment.OSVersion
財産。
1 2 3 4 5 6 7 8 9 10 |
using System; public class Example { public static void Main() { var os = Environment.OSVersion; Console.WriteLine("Platform: {0}, Version: {1}", os.Platform, os.VersionString); } } |
サンプル出力:
Platform: Win32NT, Version: Microsoft Windows NT 10.0.22000.0
or
Platform: Unix, Version: Unix 4.15.0.176
3.使用する Environment.OSVersion
財産
.NET 5 以降では、現在のオペレーティング システムの名前とバージョンを取得できます。 Environment.OSVersion 財産。
1 2 3 4 5 6 7 8 9 |
using System; public class Example { public static void Main() { Console.WriteLine(Environment.OSVersion); } } |
サンプル出力:
Microsoft Windows NT 10.0.22000.0
or
Unix 4.15.0.176
.NET 5 より前の .NET バージョンでこれを使用する場合は注意してください。アプリケーションが Windows 互換モードで実行されている場合は、 Environment.OSVersion
OS のバージョンが正しくない可能性があります。
C# でオペレーティング システムを決定するのはこれですべてです。