如何在 C# 中将字符串转换为整型 Int

  1. C# 字符串到整型的转换 - Int16.Parse() / Int32.Parse() / Int64.Parse() 方法
  2. C# 将字符串转换为整型的方法 - Int16.TryParse() / Int32.TryParse() / Int64.TryParse() 方法
  3. C# 从字符串到整型的转换-Convert.ToInt16() / Convert.ToInt32() / Convert.ToInt64() 方法

在使用 C# 进行编码时,将字符串转换为整型是一件很容易的事。在本文中,我们将介绍一些最简单且推荐的方法来实现此目的。

C# 字符串到整型的转换 - Int16.Parse() / Int32.Parse() / Int64.Parse() 方法

Parse() 方法可用于将数字的字符串表示形式转换为等效的 16/32/64 位带符号整数。出于代表性的目的,从现在开始我们将仅涵盖 32 位转换。

using System;

public class Instance{
    public static void Main(){
        string str_var = "123";
        int num_var = Int32.Parse(str_var);
        System.Console.WriteLine(num_var);
    }
}

输出:

123

使用此方法的一个小缺点是,如果字符串不是数字序列,则抛出 FormatException

尽管 Parse() 会忽略字符串开头和结尾的空格,但除此之外,所有字符都必须具有适当的数值才能成功转换。

我们建议使用 try...catch 语句来处理异常,如下所示。

using System;

public class Instance{
    public static void Main(){
        string str_var = "abc";
        try
        {
            int num_var = Int32.Parse(str_var);
            System.Console.WriteLine(num_var);
        }
        catch (FormatException)
        {
            System.Console.WriteLine("Invalid String");
        }
    }
}

输出:

Invalid String

C# 将字符串转换为整型的方法 - Int16.TryParse() / Int32.TryParse() / Int64.TryParse() 方法

TryParse() 被认为是 Parse() 方法的合适替代方法,TryParse() 方法在失败的情况下不会引发异常。相反,如果转换失败,它只会返回 False

using System;

public class Instance{
    public static void Main(){
        bool result;
        string str_var = "111";
        int num_var;
        result = Int32.TryParse(str_var, out num_var);
        if(result)
            System.Console.WriteLine(num_var);
        else
            System.Console.WriteLine("Invalid String");
    }
}

输出:

111

C# 从字符串到整型的转换-Convert.ToInt16() / Convert.ToInt32() / Convert.ToInt64() 方法

Convert() 方法将字符串变量作为参数,并返回等效的 16/32/64 位带符号数字值。与 Parse() 方法类似,使用这种方法你需要一个 try...catch 语句来处理异常。

using System;

public class Instance{
    public static void Main(){
        string str_var = "123";
        try
        {
            int num_var = Convert.ToInt32(str_var);
            System.Console.WriteLine(num_var);
        }
        catch (FormatException)
        {
            Console.WriteLine("Invalid String");
        }
        catch (OverflowException)
        {
            Console.WriteLine("The string cannot fit in 32 bit value");
        }
    }
}

输出:

123

异常的代价很高,通常不将其包括在程序流中。但是有时它们可​​能对提取重要信息(例如,Convert() 方法中的溢出条件)有用。

上述所有方法都同样有效,并且在实现时需要权衡取舍。我们建议根据我们在本文中提出的考虑因素选择最佳的解决方案。

相关文章 - Csharp Integer

  • C# 中将整形 Int 转换为字符串 String
  • 相关文章 - Csharp String

  • C# 将字符 char 转换为整型 int
  • comments powered by Disqus