2013-02-22 97 views
0

比方說,我有個字節數組轉換字節數組爲uint數值

byte[] byteArr = new byte[] { 1, 2, 3, 4, 5 }; 

我想這個數組轉換得到UINT的常規數值變量,那麼結果將是

uint result = 12345; 

所以我見過的所有例子都是用字節來表示的,字節我不需要字節,而是數字值。

謝謝...

回答

2

這聽起來像你想要的東西,如:

uint result = 0; 
foreach (var digit in array) 
{ 
    result = result * 10 + digit; 
} 

或者更fancily,使用LINQ:

uint result = array.Aggregate((uint) 0, (curr, digit) => curr * 10 + digit); 
+0

完美!將在3分鐘內接受答案:) – inside 2013-02-22 16:53:43

+0

嘿約翰,非常重要的問題,爲什麼這隻適用於數字,直到10?如果我將它從字節數組1,2,3,4,5,6,7,8,9轉換它會給我結果123456789,但是如果我將它從字節數組1,2,3,4,5 ,6,7,8,9,10它會給我1234567900請你需要知道如何解決它? – inside 2013-04-11 13:50:28

+1

@Stanislav:那麼你想要給它什麼? 10不是一個數字。 (這就是爲什麼你真的需要給出明確的要求。) – 2013-04-11 13:51:28