C# の int Parse と Convert ToInt32 の違いとは?分かりやすく解説!

スポンサーリンク
スポンサーリンク


C#のint ParseとConvert ToInt32の主な違いは、int ParseにNULL値を渡すとArgumentNullExceptionが発生し、Convert ToInt32にNULL値を渡すとゼロになることです。

C#は、Microsoft社が開発した最新の汎用高レベルプログラミング言語です。

.NETフレームワークの一部です。

簡単で効率的なプログラムを書くことができます。

  文字列は、文字の並びを持つデータ型です。

プログラミングでは、文字列に対して処理を行う必要がある

文字列を整数に変換する方法はいろいろあります。

int.ParseとConvert ToInt32を使用する方法があります。

スポンサーリンク

int Parseとは

int Parse を使用する主な目的は、文字列を整数に変換することです。

図1:int Parseを使ったプログラム1

上のプログラムによると、strには文字列が格納されています。

それをint.Parseで整数に変換しています。

そして,その値を変数resultに格納する.最後に,その整数値が画面に表示される。

もし文字列がNULLの場合はArgumentNullExceptionを投げる。

What is the Difference Between int Parse and Convert ToInt32 in C#_Figure 1 図2:int型Parseを用いたプログラム2

上記のプログラムによると、str2にはnullが格納されている。

int.Parseはこれをint型に変換し、resultという変数に格納しようとする。


str2がnullであるため,変換は不可能である

したがって,ArgumentNullExceptionを発生させる。

そして,catchブロックが実行され,例外メッセージが画面に表示される。

What is the Difference Between int Parse and Convert ToInt32 in C#_Figure 2 図3:int型Parseを用いたプログラム3

上のプログラムによれば,str3には文字列が格納されている。

int.Parseはこれをint型に変換し,result変数に格納しようとする。

この値は10進数であるため,変換することができません。

そのため,FormatExceptionが発生します。

したがって,catch ブロックが実行され,例外メッセージが画面に表示される。

上のプログラムによれば,str4には文字列が格納されている。

int.Parseはこれをint型に変換し,result変数に格納しようとする。

値が大きすぎるため,変換を行うことができません。

そのため,OverflowExceptionが発生する。

Convert ToInt32 って何?

Convert ToInt32 を使用する主な目的は、文字列を整数に変換することです。

図5:Convert ToIntを使ったプログラム1

上のプログラムによると、strは文字列です。

それをConvert.ToIntで整数に変換しています。

そして,その値を変数resultに格納する。

最後に、整数の値が画面に表示される。

What is the Difference Between int Parse and Convert ToInt32 in C#_Figure 4 図6:Convert ToIntを用いたプログラム2

上記のプログラムによれば,str2にはnullが格納されている。

Convert.ToInt32で整数に変換し、result変数に格納します。

最後に、画面に0を表示する。

What is the Difference Between int Parse and Convert ToInt32 in C#_Figure 5 図7:Convert ToIntを用いたプログラム3

上記のプログラムによると、str3には文字列が格納されています。

Convert.ToInt32はそれをint型に変換してresult変数に格納しようとする。

値が10進数であるため,変換を行うことができません。

そのため,FormatExceptionが発生します。

そのため,catchブロックが実行され,例外メッセージが画面に表示される。

What is the Difference Between int Parse and Convert ToInt32 in C#_Figure 6 図8:Convert.ToInt32を用いたプログラム4

上のプログラムによれば,str4には文字列が格納されている。

Convert.ToInt32はこれをint型に変換しようとし,その答えをresult変数に格納する。

値が大きすぎるため変換ができず,OverflowExceptionが発生します。

C# の int Parse と Convert ToInt32 の類似点

  • C#のint ParseとConvert ToInt32は、どちらも文字列を整数に変換します。
  • どちらも、整数以外のデータ型を渡すとFormat例外が発生します。
  • また、大きな値を渡すと、Overflow例外が発生します。

C# の int parse と Convert ToInt32 の相違点

定義

int.Parseは、文字列表現を対応する数値の整数値に変換するC#のメソッドです。

Convert.ToInt32 は、指定された文字列表現の数値を同等の 32 ビット符号付き整数に変換する、C# のメソッドです。


C# の int Parse と Convert ToInt32 の主な違いについて説明します

構文

intのParseの構文はint.Parse(string s)、Toint32のConvertの構文はConvert.ToInt32(string s)です。

Null値の受け渡し

C# の int Parse と Convert ToInt32 のもう一つの違いは、Null 値を渡す場合、int.Parse では ArgumentNullException が発生し、 Convert.ToInt32 では 0 が発生することである

結論

簡単に説明すると、int.ParseとConvert ToInt32は、文字列を整数に変換する2つのメソッドです。

C# の int Parse と Convert ToInt32 の主な違いは、int Parse に null 値を渡すと ArgumentNullException をスローし、Convert ToInt32 に null 値を渡すとゼロになることです。

タイトルとURLをコピーしました