推荐使用int.TryParse()将字符串转整数,因其安全且不抛异常;若确定格式正确可用int.Parse();支持解析十六进制等不同进制;类似方法适用于long、short等其他整型。

在 .net 中,将字符串转换为整数有多种方法,常用的是 int.Parse() 和 int.TryParse()。推荐使用 TryParse 方法,因为它更安全,不会因格式错误抛出异常。
1. 使用 int.Parse()(适用于确定字符串格式正确时)
如果确定字符串一定能转成整数,可以使用 int.Parse():
string str = "123"; int number = int.Parse(str); // 结果:number = 123
但如果字符串不是有效数字(如空字符串、字母等),会抛出 FormatException。
2. 使用 int.TryParse()(推荐方式)
这是最安全的方法,转换失败时不会报错,而是返回 false:
string str = "456"; if (int.TryParse(str, out int number)) { // 转换成功 Console.WriteLine("转换成功:" + number); } else { // 转换失败,处理异常情况 Console.WriteLine("字符串格式不正确"); }
即使 str 是 “abc” 或 NULL,程序也不会崩溃,而是进入 else 分支。
3. 处理不同进制的字符串(如十六进制)
如果要解析十六进制等格式,可以使用重载版本:
string hexStr = "FF"; if (int.TryParse(hexStr, System.Globalization.NumberStyles.HexNumber, null, out int result)) { Console.WriteLine(result); // 输出:255 }
4. 其他类型:转换为 long、short 等
类似方法也适用于其他整型,例如:
- long.TryParse() → 转 long
- short.TryParse() → 转 short
- uint.TryParse() → 转无符号整数
基本上就这些。日常开发中优先用 TryParse 避免异常,提升程序健壮性。不复杂但容易忽略细节,比如空值或非法字符。


