Поделиться через


Version.Parse Метод

Определение

Перегрузки

Parse(ReadOnlySpan<Char>)

Преобразует указанный диапазон символов только для чтения, представляющий номер версии, в эквивалентный объект Version.

Parse(String)

Преобразует строковое представление номера версии в эквивалентный объект Version.

Parse(ReadOnlySpan<Char>)

Исходный код:
Version.cs
Исходный код:
Version.cs
Исходный код:
Version.cs

Преобразует указанный диапазон символов только для чтения, представляющий номер версии, в эквивалентный объект Version.

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

Параметры

input
ReadOnlySpan<Char>

Доступный только для чтения диапазон символов, содержащий номер версии для преобразования.

Возвращаемое значение

Объект, эквивалентный номеру версии, который задается параметром input.

Исключения

В параметре input содержится менее двух или более четырех компонентов версий.

По крайней мере один из компонентов в input меньше нуля.

По крайней мере один из компонентов в input не является целым числом.

По крайней мере один компонент в input представляет число, большее, чем Int32.MaxValue.

Комментарии

Параметр input должен иметь следующий формат:

major.minor[.build[.revision]]

где major, minor, buildи revision — строковые представления четырех компонентов номера версии: основной номер версии, дополнительный номер версии, номер сборки и номер редакции соответственно. Необязательные компоненты отображаются в квадратных скобках ([ и ]). Компоненты должны отображаться в указанном порядке и разделяться точками.

Применяется к

Parse(String)

Исходный код:
Version.cs
Исходный код:
Version.cs
Исходный код:
Version.cs

Преобразует строковое представление номера версии в эквивалентный объект Version.

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

Параметры

input
String

Строка, содержащая преобразуемый номер версии.

Возвращаемое значение

Объект, эквивалентный номеру версии, который задается параметром input.

Исключения

input имеет значение null.

В параметре input содержится менее двух или более четырех компонентов версий.

По крайней мере один из компонентов в input меньше нуля.

По крайней мере один из компонентов в input не является целым числом.

По крайней мере один компонент в input представляет число, большее, чем Int32.MaxValue.

Примеры

В следующем примере метод используется Parse для анализа ряда строк, содержащих сведения о версии.

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'.

Комментарии

Параметр input должен иметь следующий формат:

major.minor[.build[.revision]]

где major, minor, buildи revision — строковые представления четырех компонентов номера версии: основной номер версии, дополнительный номер версии, номер сборки и номер редакции соответственно. Необязательные компоненты отображаются в квадратных скобках ([ и ]). Компоненты должны отображаться в указанном порядке и разделяться точками.

Важно!

Поскольку строковое представление номера версии должно соответствовать распознанму шаблону, приложения всегда должны использовать обработку исключений при вызове Parse метода для анализа введенных пользователем данных. Кроме того, можно вызвать TryParse метод для анализа строкового представления номера версии и вернуть значение, указывающее, успешно ли выполнена операция синтаксического анализа.

Метод Parse является удобным методом; он эквивалентен вызову конструктора Version(String) .

См. также раздел

Применяется к