如何将int数组转换为int?

我想学习的方法是将一个int数组转换为C#中的int。

但是我想用数组中的值附加int。

例:

int[] array = {5, 6, 2, 4}; 

将被转换为等于5624的int。

在此先感谢您的帮助。

简单地将每个数字乘以10 ^他在数组中的位置。

 int[] array = { 5, 6, 2, 4 }; int finalScore = 0; for (int i = 0; i < array.Length; i++) { finalScore += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1)); } 
 int output = array .Select((t, i) => t * Convert.ToInt32(Math.Pow(10, array.Length - i - 1))) .Sum(); 

另一个简单方法:

 int[] array = {5, 6, 2, 4}; int num; if (Int32.TryParse(string.Join("", array), out num)) { //success - handle the number } else { //failed - too many digits in the array } 

这里的诀窍是使数组成为一串数字,然后将其解析为整数。

使用此代码您只想连接int数组,因此请使用以下代码

 String a; int output; int[] array = {5, 6, 2, 4}; foreach(int test in array) { a+=test.toString(); } output=int.parse(a); //where output gives you desire out put 

这不是一个确切的代码。

 int result = 0; int[] arr = { 1, 2, 3, 4}; int multipicator = 1; for (int i = arr.Length - 1; i >= 0; i--) { result += arr[i] * multipicator; multipicator *= 10; } 

请尝试以下方法:

  int[] intArray = new int[] { 5, 4, 6, 1, 6, 8 }; int total = 0; for (int i = 0; i < intArray.Length; i++) { int index = intArray.Length - i - 1; total += ((int)Math.Pow(10, index)) * intArray[i]; } 

你可以使用字符串流(包括“sstream”)

使用命名空间std; int main(){

 int arr[3]={3,2,4}; //your array.. stringstream ss; ss<>x; cout< 

如果您已了解十进制系统的工作原理,这将很容易。

因此,让我为您解释一下:十进制数字包含十位数的单位数字。

这意味着您必须遍历此数组(向后!)并乘以10 ^

例如5624表示:(5 * 10 ^ 3)+(6 * 10 ^ 2)+(2 * 10 ^ 1)+(4 * 10 ^ 0)

请另请考虑: http : //en.wikipedia.org/wiki/Horner_scheme

而且只是为了好玩……

 arr.Select((item, index) => new { Item = item, Power = arr.Length - (index - 1) }).ToList().ForEach(item => total += (int)(Math.Pow(10, item.Power) * item.Item)); 

这样做:

 public int DoConvert(int[] arr) { int result = 0; for (int i=0;i 
 var finalScore = int.Parse(array .Select(x => x.ToString()) .Aggregate((prev, next) => prev + next));