如何在 C# 中将字符串转换为整型 Int
Puneet Dobhal
2023年10月12日
Csharp
Csharp Integer
Csharp String
-
C# 字符串到整型的转换 -
Int16.Parse()/Int32.Parse()/Int64.Parse()方法 -
C# 将字符串转换为整型的方法 -
Int16.TryParse()/Int32.TryParse()/Int64.TryParse()方法 -
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() 方法中的溢出条件)有用。
上述所有方法都同样有效,并且在实现时需要权衡取舍。我们建议根据我们在本文中提出的考虑因素选择最佳的解决方案。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe