如何在 C# 中将字符串转换为整型 Int
Puneet Dobhal
2023年10月12日
-
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()
方法中的溢出条件)有用。
上述所有方法都同样有效,并且在实现时需要权衡取舍。我们建议根据我们在本文中提出的考虑因素选择最佳的解决方案。