Version.Parse Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| Parse(ReadOnlySpan<Byte>) |
Converts the specified read-only span of UTF-8 characters that represents a version number to an equivalent Version object. |
| Parse(ReadOnlySpan<Char>) |
Converts the specified read-only span of characters that represents a version number to an equivalent Version object. |
| Parse(String) |
Converts the string representation of a version number to an equivalent Version object. |
Parse(ReadOnlySpan<Byte>)
- Source:
- Version.cs
Converts the specified read-only span of UTF-8 characters that represents a version number to an equivalent Version object.
public:
static Version ^ Parse(ReadOnlySpan<System::Byte> utf8Text);
public static Version Parse(ReadOnlySpan<byte> utf8Text);
static member Parse : ReadOnlySpan<byte> -> Version
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte)) As Version
Parameters
- utf8Text
- ReadOnlySpan<Byte>
A read-only span of UTF-8 characters that contains a version number to convert.
Returns
An object that is equivalent to the version number specified in the utf8Text parameter.
Exceptions
utf8Text has fewer than two or more than four version components.
At least one component in utf8Text is less than zero.
At least one component in utf8Text is not an integer.
At least one component in utf8Text represents a number that is greater than MaxValue.
Applies to
Parse(ReadOnlySpan<Char>)
- Source:
- Version.cs
- Source:
- Version.cs
- Source:
- Version.cs
- Source:
- Version.cs
Converts the specified read-only span of characters that represents a version number to an equivalent Version object.
public:
static Version ^ Parse(ReadOnlySpan<char> input);
public static Version Parse(ReadOnlySpan<char> input);
static member Parse : ReadOnlySpan<char> -> Version
Public Shared Function Parse (input As ReadOnlySpan(Of Char)) As Version
Parameters
- input
- ReadOnlySpan<Char>
A read-only span of characters that contains a version number to convert.
Returns
An object that is equivalent to the version number specified in the input parameter.
Exceptions
input has fewer than two or more than four version components.
At least one component in input is less than zero.
At least one component in input is not an integer.
At least one component in input represents a number that is greater than Int32.MaxValue.
Remarks
The input parameter must have the following format:
major.minor[.build[.revision]]
where major, minor, build, and revision are the string representations of the version number's four components: major version number, minor version number, build number, and revision number, respectively. Optional components are shown in square brackets ([ and ]). The components must appear in the specified order and must be separated by periods.
Applies to
Parse(String)
- Source:
- Version.cs
- Source:
- Version.cs
- Source:
- Version.cs
- Source:
- Version.cs
Converts the string representation of a version number to an equivalent Version object.
public:
static Version ^ Parse(System::String ^ input);
public static Version Parse(string input);
static member Parse : string -> Version
Public Shared Function Parse (input As String) As Version
Parameters
- input
- String
A string that contains a version number to convert.
Returns
An object that is equivalent to the version number specified in the input parameter.
Exceptions
input is null.
input has fewer than two or more than four version components.
At least one component in input is less than zero.
At least one component in input is not an integer.
At least one component in input represents a number that is greater than Int32.MaxValue.
Examples
The following example uses the Parse method to parse a number of strings that contain version information.
using System;
public class Example
{
public static void Main()
{
string input = "4.0";
ParseVersion(input);
input = "4.0.";
ParseVersion(input);
input = "1.1.2";
ParseVersion(input);
input = "1.1.2.01702";
ParseVersion(input);
input = "1.1.2.0702.119";
ParseVersion(input);
input = "1.3.5.2150000000";
ParseVersion(input);
}
private static void ParseVersion(string input)
{
try {
Version ver = Version.Parse(input);
Console.WriteLine("Converted '{0} to {1}.", input, ver);
}
catch (ArgumentNullException) {
Console.WriteLine("Error: String to be parsed is null.");
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("Error: Negative value in '{0}'.", input);
}
catch (ArgumentException) {
Console.WriteLine("Error: Bad number of components in '{0}'.",
input);
}
catch (FormatException) {
Console.WriteLine("Error: Non-integer value in '{0}'.", input);
}
catch (OverflowException) {
Console.WriteLine("Error: Number out of range in '{0}'.", input);
}
}
}
// The example displays the following output:
// Converted '4.0 to 4.0.
// Error: Non-integer value in '4.0.'.
// Converted '1.1.2 to 1.1.2.
// Converted '1.1.2.01702 to 1.1.2.1702.
// Error: Bad number of components in '1.1.2.0702.119'.
// Error: Number out of range in '1.3.5.2150000000'.
open System
let parseVersion (input: string) =
try
let ver = Version.Parse input
printfn $"Converted '{input} to {ver}."
with
| :? ArgumentNullException ->
printfn "Error: String to be parsed is null."
| :? ArgumentOutOfRangeException ->
printfn $"Error: Negative value in '{input}'."
| :? ArgumentException ->
printfn $"Error: Bad number of components in '{input}'."
| :? FormatException ->
printfn $"Error: Non-integer value in '{input}'."
| :? OverflowException ->
printfn $"Error: Number out of range in '{input}'."
[<EntryPoint>]
let main _ =
let input = "4.0"
parseVersion input
let input = "4.0."
parseVersion input
let input = "1.1.2"
parseVersion input
let input = "1.1.2.01702"
parseVersion input
let input = "1.1.2.0702.119"
parseVersion input
let input = "1.3.5.2150000000"
parseVersion input
0
// The example displays the following output:
// Converted '4.0 to 4.0.
// Error: Non-integer value in '4.0.'.
// Converted '1.1.2 to 1.1.2.
// Converted '1.1.2.01702 to 1.1.2.1702.
// Error: Bad number of components in '1.1.2.0702.119'.
// Error: Number out of range in '1.3.5.2150000000'.
Module Example
Public Sub Main()
Dim input As String = "4.0"
ParseVersion(input)
input = "4.0."
ParseVersion(input)
input = "1.1.2"
ParseVersion(input)
input = "1.1.2.01702"
ParseVersion(input)
input = "1.1.2.0702.119"
ParseVersion(input)
input = "1.3.5.2150000000"
ParseVersion(input)
End Sub
Private Sub ParseVersion(input As String)
Try
Dim ver As Version = Version.Parse(input)
Console.WriteLine("Converted '{0} to {1}.", input, ver)
Catch e As ArgumentNullException
Console.WriteLine("Error: String to be parsed is null.")
Catch e As ArgumentOutOfRangeException
Console.WriteLine("Error: Negative value in '{0}'.", input)
Catch e As ArgumentException
Console.WriteLine("Error: Bad number of components in '{0}'.",
input)
Catch e As FormatException
Console.WriteLine("Error: Non-integer value in '{0}'.", input)
Catch e As OverflowException
Console.WriteLine("Error: Number out of range in '{0}'.", input)
End Try
End Sub
End Module
' The example displays the following output:
' Converted '4.0 to 4.0.
' Error: Non-integer value in '4.0.'.
' Converted '1.1.2 to 1.1.2.
' Converted '1.1.2.01702 to 1.1.2.1702.
' Error: Bad number of components in '1.1.2.0702.119'.
' Error: Number out of range in '1.3.5.2150000000'.
Remarks
The input parameter must have the following format:
major.minor[.build[.revision]]
where major, minor, build, and revision are the string representations of the version number's four components: major version number, minor version number, build number, and revision number, respectively. Optional components are shown in square brackets ([ and ]). The components must appear in the specified order and must be separated by periods.
Important
Because the string representation of a version number must conform to a recognized pattern, applications should always use exception handling when calling the Parse method to parse user input. Alternatively, you can call the TryParse method to parse the string representation of a version number and return a value that indicates whether the parse operation succeeded.
The Parse method is a convenience method; it is equivalent to calling the Version(String) constructor.