0

初心者レベルでC#を学んでいます。Unicode 文字に整数を追加するとどうなるかわかりません。以下の例で追加は何をしますか?

int amount = int.Parse(number.Text);
steps.Text = "";
string current = "";
do
{
    int nextDigit = amount % 8;
    amount /= 8;
    int digitCode = '0' + nextDigit;
    char digit = Convert.ToChar(digitCode);
    current = digit + current;
    steps.Text += current + "\n";
}
while (amount != 0);
4

2 に答える 2

0

このコードは、8 進数を文字列に変換します。行について話している場合:

int digitCode = '0' + nextDigit;

この行は、単一の 2 進数を文字列の数字に変換します。バイナリ値が 0 の場合、char 値は'0' + 1またはになります'1'。これは、一般的で便利な小さなトリックです。

ほとんどの文字セット (Unicode、ASCII、UTF-x など) では、 ~ の文字が'0'順番'9'に表示されるため、 に 0 ~ 9 の数値を追加することで、これらの数字文字を作成できます'0'

于 2012-08-18T22:41:17.910 に答える
0

文字と整数を加算すると、文字は文字コードを表す整数値に変換されます。

'0' + nextDigitと同じです48 + nextDigit

次に、整数が文字に変換され、次に文字列に変換されます。メソッドを使用すると簡単に実行できますToString(整数は常に 0 から 7 の間であるため)。

do {
  int nextDigit = amount % 8;
  amount /= 8;
  string digit = nextDigit.ToString();
  current = digit + current;
  steps += current + "\n";
} while (amount != 0);
于 2012-08-18T22:58:58.730 に答える