スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
Convert.ToInt32とint.Parseの違い
Convert.ToInt32メソッドとint.Parseメソッドはともに、文字列をint型の数値に変換する際に使用されます。
基本的に、二つの差はほとんどありません。ただし、null文字に関しては、挙動が異なります。
null文字をConvert.ToInt32メソッドで変換しようとした場合、数値は0として返します。
null文字をint.Parseメソッドで変換しようとした場合、以下のようなエラーが起きます。
System.ArgumentNullException: 値を Null にすることはできません。
共に、空文字に対しては、以下のようなエラーが起きます。
System.FormatException: 入力文字列の形式が正しくありません。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Convert03 { class Program { static void Main(string[] args) { string num_txt; num_txt = "10"; int num; num_txt = null; //エラー:System.ArgumentNullException: 値を Null にすることはできません。 //num = int.Parse(num_txt); //Console.WriteLine(num); num = Convert.ToInt32(num_txt); Console.WriteLine(num);//0が返る num_txt = ""; //num_txt = string.Empty; //エラー: System.FormatException: 入力文字列の形式が正しくありません。 //num = int.Parse(num_txt); //Console.WriteLine(num); //エラー: System.FormatException: 入力文字列の形式が正しくありません。 //num = Convert.ToInt32(num_txt); //Console.WriteLine(num); } } } |
実行結果
0
関連記事
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)
コメント