int.Parse()、int.TryParse()、Convert.ToInt32()
一、int.Parse()
syntax:public static Int32 Parse(string s)
using System;
public class Example
{
public static void Main()
{
string str = "123";
int a = int.Parse(str);
Console.WriteLine(a);
string str2 = "123.4";
int b = int.Parse(str2);
Console.WriteLine(b);
string str3 = "abc";
int c = int.Parse(str3);
Console.WriteLine(c);
Console.ReadKey();
}
}
執行畫面為
說明:
int.Parse 方法作用是試圖將一字串轉成整數,如果不能轉換的話,則會跳出 System.FormatException。
另外內容有小數點的字串 int.Parse 方法也是不能處理的。
二、int.TryParse()
syntax:public static bool TryParse(string? s, out Int32 result)
using System;
public class Example
{
public static void Main()
{
string str = "123";
int result;
bool b = int.TryParse(str, out result);
Console.WriteLine(result);
Console.WriteLine(b);
Console.WriteLine();
string str2 = "abc";
int result2;
bool b2 = int.TryParse(str2, out result2);
Console.WriteLine(result2);
Console.WriteLine(b2);
Console.ReadKey();
}
}
執行畫面為
說明:
int.TryParse 方法作用是試圖將一字串轉成數字,方法會回傳轉換成功與否的布林結果。
另外內容有小數點的字串 int.TryParse 方法也是不能處理的。
三、Convert.ToInt32()
syntax:public static int ToInt32(string? value)
using System;
public class Example
{
public static void Main()
{
int result = Convert.ToInt32("123");
Console.WriteLine(result);
int result2 = Convert.ToInt32(null);
Console.WriteLine(result2);
int result3 = Convert.ToInt32("abc");
Console.WriteLine(result3);
Console.ReadKey();
}
}
執行畫面為
說明:
1、Convert.ToInt32() 方法作用是試圖將一物件轉成數字,由於他有多種多載方法,並不限定於字串轉數字。
2、Convert.ToInt32() 方法跟 int.Parse() 方法一樣,當遇到不能轉成數字的情況時,會跳出 System.FormatException。
3、Convert.ToInt32() 方法跟 int.Parse() 方法、int.TryParse() 方法不一樣的地方是,Convert.ToInt32() 方法可以將 null 轉成零,而 int.Parse() 方法與 int.TryParse() 方法則不能處理 null。