我想将整数数组合成一个整数值.所以我有以下代码将数组合并为一个值.
int[] array = { 5, 6, 2, 4 }; int combine = 0; for (int i = 0; i < array.Length; i++) { combine += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1)); }
这个产量组合= 5624.这是正确的.
我的问题是我的数组不是0-9的形式.所以我的阵列可能是{51,62,23,44}
int[] array = { 51, 62, 23, 44 }; int combine = 0; for (int i = 0; i < array.Length; i++) { combine += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1)); }
产量合并为574774,而不是51622344.如何更正?
请执行下列操作:
var number = int.Parse(string.Join("", array));
说明:
string.Join
将采用任何类型的枚举T
,调用ToString()
每个成员并将它们连接到具有指定分隔符的单个字符串中.
一旦你有一个表示你的号码的字符串,你只需解析它就可以得到号码本身.
当然这不安全,取决于你可能的输入,这可能会失败:{1, 4, -5, 4 }
.一些错误检测int.TryParse
可能是解决这个问题的最佳方法,这个例子只是为了解决这个问题.