C#でCharをIntに変換する際は注意
C# で Char を Int に変換する時は注意が必要です。
https://msdn.microsoft.com/ja-jp/library/system.string.chars(v=vs.110).aspx
これは使い勝手がなかなか良いのですが、名前のとおり Char で返ってきます。
返ってきた Char は数値に変換して比較なんかする場合が多いと思いますが…
ASCII文字コード
http://e-words.jp/p/r-ascii.html
ビルドエラーになるわけではないので、きちんとした単体テストを作っておくか、実際に動かして検証する必要がありますね。
バグを生みやすいcharの変換
文字列を先頭からチェックしたい場合などに多用する String.Chars プロパティ。https://msdn.microsoft.com/ja-jp/library/system.string.chars(v=vs.110).aspx
これは使い勝手がなかなか良いのですが、名前のとおり Char で返ってきます。
返ってきた Char は数値に変換して比較なんかする場合が多いと思いますが…
var number = "12345"; // 49 var firstNumber1 = Convert.ToInt32(number[0]); // 1 var firstNumber2 = Convert.ToInt32(number[0].ToString());ToString() していない場合は、10 進数の ASCII コードが返ってきます。
ASCII文字コード
http://e-words.jp/p/r-ascii.html
ビルドエラーになるわけではないので、きちんとした単体テストを作っておくか、実際に動かして検証する必要がありますね。