C#中的BitConverter.ToUInt64()方法用于返回从字节数组中指定位置的八个字节转换而来的64位无符号整数。
public static ulong ToUInt64 (byte[] val, int begnIndex);
在上面,val是字节数组,而begnIndex是val中的开始位置。
using System; public class Demo { public static void Main() { byte[] arr = { 0, 0, 1, 3, 5, 7, 9, 11, 15 }; int count = arr.Length; Console.Write("Byte Array... "); for (int i = 0; i < count; i++) { Console.Write("\n"+arr[i]); } Console.WriteLine("\n\nByte Array (String representation) = {0} ", BitConverter.ToString(arr)); for (int i = 1; i < arr.Length - 7; i = i + 8) { ulong res = BitConverter.ToUInt64(arr, i); Console.WriteLine("\nValue = "+arr[i]); Console.WriteLine("Result = "+res); } } }
输出结果
Byte Array... 0 0 1 3 5 7 9 11 15 Byte Array (String representation) = 00-00-01-03-05-07-09-0B-0F Value = 0 Result = 1083970061066240256
using System; public class Demo { public static void Main() { byte[] arr = { 0, 0, 1, 3, 5, 7, 9, 11, 15, 0, 1, 6, 8, 10, 20, 25, 36, 34 }; int count = arr.Length; Console.Write("Byte Array... "); for (int i = 0; i < count; i++) { Console.Write("\n"+arr[i]); } Console.WriteLine("\n\nByte Array (String representation) = {0} ",BitConverter.ToString(arr)); for (int i = 1; i < arr.Length - 7; i = i + 8) { ulong res = BitConverter.ToUInt64(arr, i); Console.WriteLine("\nValue = "+arr[i]); Console.WriteLine("Result = "+res); } } }
输出结果
Byte Array... 0 0 1 3 5 7 9 11 15 0 1 6 8 10 20 25 36 34 Byte Array (String representation) = 00-00-01-03-05-07-09-0B-0F-00-01-06-08-0A-14-19-24-22 Value = 0 Result = 1083970061066240256 Value = 0 Result = 2601132293100011776