OperatingSystem Class


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

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)


public sealed class OperatingSystem : ICloneable, ISerializable

System_CAPS_pubmethodOperatingSystem(PlatformID, Version)

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


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


Gets the service pack version represented by this OperatingSystem object.


Gets a System.Version object that identifies the operating system.


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


Creates an OperatingSystem object that is identical to this instance.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

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


Gets the Type of the current instance.(Inherited from Object.)


Converts the value of this OperatingSystem object to its equivalent string representation.(Overrides Object.ToString().)

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 on the Windows Dev Center.

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.

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'

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top