the methods of that string convert to int

 

想要把 數字string 轉成int有幾種作法?可使用 int.Parse、int.TryParse、Convert.ToInt32

三種方法,如下範例

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a;
            a = int.Parse("123");
            Console.WriteLine("a={0}", a);

            int b;
            string bb = "456";
            bool result = int.TryParse(bb, out b);
            Console.WriteLine("{0}, b={1}", result == true ? "succes" : "fail", b);

            int c;
            c = Convert.ToInt32("789");
            Console.WriteLine("c={0}", c);

            //int d;
            //string dd = "111";
            //d = dd as int;
            //Console.WriteLine("d={0}", d);

            //int e;
            //string ee = "456";
            //e = (int)ee;
            //Console.WriteLine("e={0}", e);

            Console.ReadKey();
        }
    }
}

說明:

可以成功轉換的方法就不多說明了,看範例就可以自行應用了。

來看程式不能跑的地方,例如

dd as int;

其出現的錯誤為

「CS0039    The as operator must be used with a reference type or nullable type ('int' is a non-nullable value type)」

關鍵字「as」是專門用來把一類別嘗試轉成另一型別,

所以用關鍵字「as」想來把 string 轉成是 int 是不行的。

 

另外一種想使用明確轉換(Explicit Conversions)的方式來將 string 轉成 int 也是不行的

string ee = "456";
e = (int)ee;

出現的錯誤訊息為「CS0030    Cannot convert type 'string' to 'int'」

 

參考資料:

Int32.TryParse 方法 (String, NumberStyles, IFormatProvider, Int32)

[C#]簡單快速將各種數值字數轉成數字(string to int)

NumberStyles 列舉