.NET C#書籍

文字列を数値に変換する~Convert編~

今回はC#のConvertメソッドを紹介します。
この記事は以下のような方におすすめです。

  • Convertメソッドの使い方を知りたい
  • C#で文字列を数字に変換する方法を知りたい
  • 数字文字列を8進数に変換したい。

Convertメソッドを紹介しようと思った背景

C#で文字列を数字に変換する方法は大きく分けて3つあります。

  1. Convertメソッドを使用した方法
  2. Parseメソッドを使用した方法
  3. TryParseメソッドを使用した方法

以前TryParseやParseメソッドを使用した方法を紹介したのでその他の方法も紹介しようと思い
Convertメソッドを選んだ次第です。
今回上げたメソッドで文字列変換は可能なのですが、ConvertとParseは
変換に失敗した際に例外が発生してしまうので、個人的には変換に失敗しても例外が発生せず
戻り値で簡単に失敗したか成功したかが判別できるTryParseメソッドを使用することをオススメします。

Convertメソッドの使用法(8進数変換、10進変換、16進変換

ここからは実際のコードを使ってConvertメソッドの使用法を紹介していきます。

用意したコード


Convertメソッドはコードにも記載しているように「Convert.ToInt32(変換したい文字列)」のようにして使用します。
引数が2つの物もあり、第2引数に「fromBase(基数)」を設定することで8進数、16進数の変換も可能になります。

ここがポイント

Convertメソッドを使用する場合は、失敗したときに例外が発生するので
try-catch文を使用するか、引数に入力する文字列を適切な形にしておきましょう。
個人的には文字列は様々な入力があるので、try-catch文を使用するのが良いと思います。

実装したCovertメソッドの確認

さて、実装したコードでフォームを作成したので、試しに8進数を入力して
確認してみましょう。

フォームの外観

変換が成功した場合

変換が失敗した場合


みなさんも上手くいったでしょうか?

最後に

今回はC#のConvertメソッドを使用した文字列変換方法を紹介しました。
例外が発生することを除けば簡単に変換できておすすめです。
またConvertメソッドは8進数、16進数の変換も簡単にできるのでParseメソッドよりも
多彩な変換ができるのではないでしょうか。
基本的にはTryParseメソッドを使用していくのが変換失敗にもメソッド1つで対応でき
非常におすすめです。
今回の方法意外にもTryParse、Parseメソッドを使用した方法もあるので
Convertメソッドとの違いを理解して使用していきましょう。
それでは今回はこの辺で

Translate »