ユーザーに数字(1〜9と0)を使用して数字を入力するように求めるコンソールアプリケーションがあります。その数字をテキストの文字列に変換する方法があるかどうか疑問に思いました。
ありがとう。オンライン(ここ)でいくつかのコードを見つけましたが、そのほとんどをコンソールアプリに実装する方法がわかりません。
私は関数を書くだろう
string DigitToText(int digit)
{
if (digit < 0 || digit > 9)
{
throw new ArgumentOutOfRangeException(
"digit",
"digit must be between 0 and 9");
}
switch(digit)
{
case 0:
return "zero";
case 1:
return "one";
case 2:
return "two";
case 3:
return "three";
case 4:
return "four";
case 5:
return "five";
case 6:
return "six";
case 7:
return "seven";
case 8:
return "eight";
default:
return "nine";
}
}
switch ステートメントを使用すると、配列の不必要なインスタンス化を大幅に節約できます。これは冗長に見えるかもしれませんが、結果として得られる IL は効率的だと思います。
そこにあるコードは、アプリケーションの種類に関係なく機能します。そこにあるクラスをプロジェクトに追加して使用するだけです。