C# での文字から整数への変換
C# で文字を扱う場合、多くの場合、文字を整数に変換する必要があります。ただし、Convert.ToInt32
を直接使用すると、数値ではなく文字の 10 進数値が返されます。
代替変換方法:
Convert.ToInt32
は通常、文字列から整数への変換に使用されますが、文字の変換には適していません。次の代替案を検討してください:
Convert.ToInt32(new string(foo, 1))
: このメソッドは文字から新しい文字列を作成し、Convert.ToInt32
を使用してそれを整数に変換します。 int.Parse
: このメソッドは文字列でのみ機能するため、最初に文字を文字列に変換してから、それを整数に解析できます。 ネイティブ文字から整数への変換:
C# には、文字を整数に変換するネイティブ メソッドも用意されています。
<code class="language-csharp">char foo = '2'; int bar = foo - '0';</code>
説明:
このメソッドは、数値の内部表現として文字に依存します。文字「0」から「9」は、数値シーケンス内の連続した位置を占めます。文字値から「0」を引くと実際の数値が得られます。
上記の例では、foo
は文字「2」を表し、内部値は 50 です。 48 (ASCII 値「0」) を減算すると、整数 2 が得られます。
この単純なアプローチにより、中間の文字列変換の必要性がなくなり、C# 文字を整数に変換する直接的かつ効率的な方法が提供されます。
以上がC# で文字を同等の整数に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。