Version.Parse 方法

定义

重载

Parse(ReadOnlySpan<Char>)

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

Parse(String)

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

Parse(ReadOnlySpan<Char>)

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

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

适用于

Parse(String)

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

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

重要

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

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

另请参阅

适用于