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

添加字符和整数时,字符将转换为表示字符代码的整数值。

所以'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 回答
0

此代码将八进制数转换为字符串。如果你在谈论这条线:

int digitCode = '0' + nextDigit;

此行将单个二进制数字转换为字符串数字。如果二进制值为 0,则 char 值为'0' + 1'1'。这是一个常见且有用的小技巧。

在大多数字符集(Unicode、ASCII、UTF-x 等)中,'0'thru的字符'9'按顺序出现,因此您可以通过将数值 0 到 9 添加到'0'.

于 2012-08-18T22:41:17.910 回答