Version.Parse 方法

定义

重载

名称 说明
Parse(ReadOnlySpan<Byte>)

将表示版本号的 UTF-8 字符的指定只读范围转换为等效的 Version 对象。

Parse(ReadOnlySpan<Char>)

将表示版本号的指定只读字符范围转换为等效 Version 对象。

Parse(String)

将版本号的字符串表示形式转换为等效 Version 对象。

Parse(ReadOnlySpan<Byte>)

Source:
Version.cs
Source:
Version.cs

将表示版本号的 UTF-8 字符的指定只读范围转换为等效的 Version 对象。

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

参数

utf8Text
ReadOnlySpan<Byte>

包含要转换的版本号的 UTF-8 字符的只读范围。

返回

与参数中指定的 utf8Text 版本号等效的对象。

例外

utf8Text 版本组件少于两个或四个以上。

至少有一个组件 utf8Text 小于零。

至少有一个分量 utf8Text 不是整数。

utf8Text 至少有一个组件表示大于 MaxValue的数字。

适用于

Parse(ReadOnlySpan<Char>)

Source:
Version.cs
Source:
Version.cs
Source:
Version.cs
Source:
Version.cs
Source:
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]]

其中majorminor以及buildrevision版本号的四个组件的字符串表示形式:主要版本号、次要版本号、内部版本号和修订号。 可选组件以方括号 ([ 和 ]) 显示。 组件必须按指定顺序显示,并且必须用句点分隔。

适用于

Parse(String)

Source:
Version.cs
Source:
Version.cs
Source:
Version.cs
Source:
Version.cs
Source:
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 版本号等效的对象。

例外

inputnull

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]]

其中majorminor以及buildrevision版本号的四个组件的字符串表示形式:主要版本号、次要版本号、内部版本号和修订号。 可选组件以方括号 ([ 和 ]) 显示。 组件必须按指定顺序显示,并且必须用句点分隔。

Important

由于版本号的字符串表示形式必须符合已识别的模式,因此在调用 Parse 方法来分析用户输入时,应用程序应始终使用异常处理。 或者,可以调用 TryParse 该方法来分析版本号的字符串表示形式,并返回一个值,该值指示分析操作是否成功。

该方法 Parse 是一种方便的方法;它等效于调用 Version(String) 构造函数。

另请参阅

适用于