【发布时间】:2020-04-08 02:48:10
【问题描述】:
我遇到了将 char 值与整数相乘的问题。 我得到的不是正确的价值观,而是非常大的价值观。 final 在这里 = 32487000 但是为什么。当我检查数组的值时,我看到它添加了“51”、“50”等......
我尝试了很多方法来转换它,但每次都是同样的问题......
我会非常感谢任何想法。
static void Main(string[] args) {
int final = 5;
char[] arr = new char[]{'1', '2', '3', '4'}
for (int i = 0; i < arr.Length; i++) {
final = final * arr[i];
}
}
【问题讨论】:
-
我不确定您要解决哪个问题。这个问题听起来太像一个 XY 问题(您正在尝试解决问题 X 并想出了此处所示的解决方案,但这有问题 Y,您现在要求的是 Y 而不是 X 的解决方案)。
-
无论如何,
chars 的问题是它们可以保存许多非数字值。您希望如何对待'A'?作为十进制值为 10 的十六进制字符?
标签: c# arrays unicode char multiplication