OperatingSystem Class

Definition

Represents information about an operating system, such as the version and platform identifier. This class cannot be inherited.

public ref class OperatingSystem sealed : ICloneable, System::Runtime::Serialization::ISerializable
public ref class OperatingSystem sealed : ICloneable
public sealed class OperatingSystem : ICloneable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class OperatingSystem : ICloneable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class OperatingSystem : ICloneable, System.Runtime.Serialization.ISerializable
type OperatingSystem = class
    interface ICloneable
    interface ISerializable
[<System.Serializable>]
type OperatingSystem = class
    interface ICloneable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type OperatingSystem = class
    interface ICloneable
    interface ISerializable
Public NotInheritable Class OperatingSystem
Implements ICloneable, ISerializable
Public NotInheritable Class OperatingSystem
Implements ICloneable
Inheritance
OperatingSystem
Attributes
Implements

Examples

The following code example uses the OperatingSystem object to display information about the runtime operating system.

using System;

public class Example
{
   public static void Main()
   {
      var os = Environment.OSVersion;
      Console.WriteLine("Current OS Information:\n");
      Console.WriteLine("Platform: {0:G}", os.Platform);
      Console.WriteLine("Version String: {0}", os.VersionString);
      Console.WriteLine("Version Information:");
      Console.WriteLine("   Major: {0}", os.Version.Major);
      Console.WriteLine("   Minor: {0}", os.Version.Minor);
      Console.WriteLine("Service Pack: '{0}'", os.ServicePack);
   }
}
// If run on a Windows 8.1 system, the example displays output like the following:
//       Current OS Information:
//
//       Platform: Win32NT
//       Version String: Microsoft Windows NT 6.2.9200.0
//       Version Information:
//          Major: 6
//          Minor: 2
//       Service Pack: ''
// If run on a Windows 7 system, the example displays output like the following:
//       Current OS Information:
//
//       Platform: Win32NT
//       Version String: Microsoft Windows NT 6.1.7601 Service Pack 1
//       Version Information:
//          Major: 6
//          Minor: 1
//       Service Pack: 'Service Pack 1'
open System

let os = Environment.OSVersion
printfn "Current OS Information:\n"
printfn $"Platform: {os.Platform:G}"
printfn $"Version String: {os.VersionString}"
printfn $"Version Information:"
printfn $"   Major: {os.Version.Major}"
printfn $"   Minor: {os.Version.Minor}"
printfn $"Service Pack: '{os.ServicePack}'"
// If run on a Windows 8.1 system, the example displays output like the following:
//       Current OS Information:
//
//       Platform: Win32NT
//       Version String: Microsoft Windows NT 6.2.9200.0
//       Version Information:
//          Major: 6
//          Minor: 2
//       Service Pack: ''
// If run on a Windows 7 system, the example displays output like the following:
//       Current OS Information:
//
//       Platform: Win32NT
//       Version String: Microsoft Windows NT 6.1.7601 Service Pack 1
//       Version Information:
//          Major: 6
//          Minor: 1
//       Service Pack: 'Service Pack 1'
Module Example
   Public Sub Main()
      Dim os As OperatingSystem = Environment.OSVersion
      Console.WriteLine("Current OS Information:")
      Console.WriteLine()
      Console.WriteLine("Platform: {0:G}", os.Platform)
      Console.WriteLine("Version String: {0}", os.VersionString)
      Console.WriteLine("Version Information:")
      Console.WriteLine("   Major: {0}", os.Version.Major)
      Console.WriteLine("   Minor: {0}", os.Version.Minor)
      Console.WriteLine("Service Pack: '{0}'", os.ServicePack)
   End Sub
End Module
' If run on a Windows 8.1 system, the example displays output like the following:
'       Current OS Information:
'
'       Platform: Win32NT
'       Version String: Microsoft Windows NT 6.2.9200.0
'       Version Information:
'          Major: 6
'          Minor: 2
'       Service Pack: ''
' If run on a Windows 7 system, the example displays output like the following:
'       Current OS Information:
'
'       Platform: Win32NT
'       Version String: Microsoft Windows NT 6.1.7601 Service Pack 1
'       Version Information:
'          Major: 6
'          Minor: 1
'       Service Pack: 'Service Pack 1'

Remarks

The OperatingSystem class contains information about an operating system.

For information about the current runtime operating system, retrieve the OperatingSystem object returned by the Environment.OSVersion property. For a list of Windows operating system versions and their corresponding version numbers returned by the Version and VersionString properties and the ToString method, see Operating System Version.

By design, the OperatingSystem class is not a general purpose means of describing an operating system, and you cannot derive a more inclusive type from the OperatingSystem class. If you need a type to contain other information about an operating system, create your own type, then include a field of type OperatingSystem and any additional fields, properties, or methods that you require.

Constructors

OperatingSystem(PlatformID, Version)

Initializes a new instance of the OperatingSystem class, using the specified platform identifier value and version object.

Properties

Platform

Gets a PlatformID enumeration value that identifies the operating system platform.

ServicePack

Gets the service pack version represented by this OperatingSystem object.

Version

Gets a Version object that identifies the operating system.

VersionString

Gets the concatenated string representation of the platform identifier, version, and service pack that are currently installed on the operating system.

Methods

Clone()

Creates an OperatingSystem object that is identical to this instance.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsolete.

Populates a SerializationInfo object with the data necessary to deserialize this instance.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsAndroid()

Indicates whether the current application is running on Android.

IsAndroidVersionAtLeast(Int32, Int32, Int32, Int32)

Checks if the Android version (returned by the Linux command uname) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified version.

IsBrowser()

Indicates whether the current application is running as WASM in a browser.

IsFreeBSD()

Indicates whether the current application is running on FreeBSD.

IsFreeBSDVersionAtLeast(Int32, Int32, Int32, Int32)

Checks if the FreeBSD version (returned by the Linux command uname) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified version.

IsIOS()

Indicates whether the current application is running on iOS or MacCatalyst.

IsIOSVersionAtLeast(Int32, Int32, Int32)

Checks if the iOS/MacCatalyst version (returned by libobjc.get_operatingSystemVersion) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified iOS version.

IsLinux()

Indicates whether the current application is running on Linux.

IsMacCatalyst()

Indicates whether the current application is running on Mac Catalyst.

IsMacCatalystVersionAtLeast(Int32, Int32, Int32)

Check for the Mac Catalyst version (iOS version as presented in Apple documentation) with a ≤ version comparison. Used to guard APIs that were added in the given Mac Catalyst release.

IsMacOS()

Indicates whether the current application is running on macOS.

IsMacOSVersionAtLeast(Int32, Int32, Int32)

Checks if the macOS version (returned by libobjc.get_operatingSystemVersion) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified macOS version.

IsOSPlatform(String)

Indicates whether the current application is running on the specified platform.

IsOSPlatformVersionAtLeast(String, Int32, Int32, Int32, Int32)

Checks if the operating system version is greater than or equal to the specified platform version. This method can be used to guard APIs that were added in the specified OS version.

IsTvOS()

Indicates whether the current application is running on tvOS.

IsTvOSVersionAtLeast(Int32, Int32, Int32)

Checks if the tvOS version (returned by libobjc.get_operatingSystemVersion) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified tvOS version.

IsWasi()

Indicates whether the current application is running as WASI.

IsWatchOS()

Indicates whether the current application is running on watchOS.

IsWatchOSVersionAtLeast(Int32, Int32, Int32)

Checks if the watchOS version (returned by libobjc.get_operatingSystemVersion) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified watchOS version.

IsWindows()

Indicates whether the current application is running on Windows.

IsWindowsVersionAtLeast(Int32, Int32, Int32, Int32)

Checks if the Windows version (returned by RtlGetVersion) is greater than or equal to the specified version. This method can be used to guard APIs that were added in the specified Windows version.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Converts the value of this OperatingSystem object to its equivalent string representation.

Applies to