c# 中字符串转换为整数的不同方式
原文:https://www . geesforgeks . org/different-way-to-convert-string-to-integer-in-c-sharp/
像其他编程语言一样,在 C# 中,我们可以将字符串转换为 int。有三种方法可以转换它,如下所示:
- 使用解析方法
- 使用锥虫法
- 使用从(系统的转换方法。转换类)
输入字符串可以是任何类似【10.10”、“10.10”、“10GeeksforGeeks”、“(您的字符串可以是数字、字符组合或空字符串)。 当给定的字符串是数字或浮点数时,我们可以直接使用上面列出的任何方法将其从字符串转换为 int,但是字符和空字符串的组合会引发错误,需要使用异常处理来捕捉。
1.使用解析方法
这里,我们正在计算圆的面积,但是给定的输入长度是字符串格式,因此使用了 Int32。Parse() 方法将长度从字符串转换为 int(等效的 32 位有符号整数)。
// C# program to convert string to
// integer using Parse Method
using System;
namespace GeeksforGeeks {
class GFG{
// Main Method
public static void Main(string[] args)
{
// Taking a string
string l = "10";
// using the Method
int length = Int32.Parse(l);
// Finding the area of a square
int aofs = length * length;
Console.WriteLine("Area of a circle is: {0}", aofs);
}
}
}
输出:
Area of a circle is: 100
当我们有一个大于整数的值时:如果您将值大值赋给字符串,那么它将通过overowexception处理,因为 int 数据类型不能处理大值(这在很大程度上取决于数据类型的范围)。
string l="10000000000";
输出将是System.OverflowException: Value was either too large or too small for an Int32.
当我们有空字符串时:如果您保持字符串为空,那么当输入为空时,它将通过异常系统格式异常。
string l="";
输出将是:系统。格式异常:输入字符串的格式不正确。
2.使用锥虫法
这里,我们使用了 TryParse()方法,Parse()和 TryParse()方法的区别只是 TryParse()方法总是返回它永远不会抛出异常的值。如果你仔细观察一个输入的值,那么它清楚地表明它会抛出一个异常,但是 TryParse() 永远不会抛出异常。因此输出为零。
// C# program to convert string to
// integer using TryParse Method
using System;
namespace GeeksforGeeks {
class GFG{
// Main Method
public static void Main(string[] args)
{
// Taking a string
string l = "10000000000";
int length = 0;
// using the method
Int32.TryParse(l, out length);
// Finding the area of a square
int aofs = length * length;
Console.WriteLine("Area of a circle is: {0}", aofs);
}
}
}
输出:
Area of a circle is: 0
3.使用转换方法
这里,我们使用了 Convert。ToInt32() 方法,解析()和转换的区别。to t32()方法只在于转换。ToInt32() 方法总是接受空值返回它。因此输出为零。我们在这个例子中使用了异常处理,因此,如果发生了异常,try 块将抛出异常,catch 块将接受异常并写入任何发生的异常。
// C# program to convert string to
// integer using Convert Method
using System;
namespace GeeksforGeeks {
class GFG {
// Main Method
public static void Main(string[] args)
{
// Taking a string
string l = null;
try {
int length = Convert.ToInt32(l);
// Finding the area of a square
int aofs = length * length;
Console.WriteLine("Area of a circle is: {0}", aofs);
}
catch (Exception e) {
Console.WriteLine("Unable to convert:Exception:" + e.Message);
}
}
}
}
输出:
Area of a circle is: 0
版权属于:月萌API www.moonapi.com,转载请注明出处