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。