おふとんの中から

その辺に転がってるエンジニアの備忘録

C#のConvertで初歩的な勘違いをしていた件

ゆいなです。
今までのブログをMarkdownで書いたことがなく、
やり方すら知らなかったのでブログを書きつつ覚えていこうかと…

ということで今回はタイトルの通り、仕事で頭を抱えた初歩的な間違いを書いていこうかと。


String.Convertメソッドの基数間違い

言語はC#

String型の変数に文字と16進数の数字の混成が入っており、数字の部分を10進数に変換した上、1増やす必要が。

String hoge = "N02BC";
Convert.toInt32(hoge.Substring(1), 10);

こんなのを書き、FormatExceptionが。
Convertの第2引数には変換する物をいれておけばよかったはずと頭を抱え…

とあるSlackに助けを求めて気づきました。

String hoge = "N02BC";
Convert.toInt32(hoge.Substring(1), 16);

第2引数って基数だから16進数だし16指定しなきゃいけないじゃないか…

というやらかしでしたw