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を投げる。
図2:int型Parseを用いたプログラム2
上記のプログラムによると、str2にはnullが格納されている。
int.Parseはこれをint型に変換し、resultという変数に格納しようとする。
str2がnullであるため,変換は不可能である。
したがって,ArgumentNullExceptionを発生させる。
そして,catchブロックが実行され,例外メッセージが画面に表示される。
図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に格納する。
最後に、整数の値が画面に表示される。
図6:Convert ToIntを用いたプログラム2
上記のプログラムによれば,str2にはnullが格納されている。
Convert.ToInt32で整数に変換し、result変数に格納します。
最後に、画面に0を表示する。
図7:Convert ToIntを用いたプログラム3
上記のプログラムによると、str3には文字列が格納されています。
Convert.ToInt32はそれをint型に変換してresult変数に格納しようとする。
値が10進数であるため,変換を行うことができません。
そのため,FormatExceptionが発生します。
そのため,catchブロックが実行され,例外メッセージが画面に表示される。
図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 値を渡すとゼロになることです。