C#中的BitConverter.ToInt64()方法用于返回从字节数组中指定位置的八个字节转换而来的64位有符号整数。
语法如下-
public static long ToInt64 (byte[] val, int begnIndex);
在上面,val是字节数组,而begnIndex是val中的开始位置。
现在让我们看一个例子-
using System; public class Demo { public static void Main() { byte[] arr = { 0, 10, 15, 20, 26, 30, 34, 42, 50}; Console.WriteLine("Byte Array = {0} ", BitConverter.ToString(arr)); for (int i = 0; i < arr.Length - 7; i = i + 8) { long res = BitConverter.ToInt64(arr, i); Console.WriteLine("\nValue = "+arr[i]); Console.WriteLine("Result = "+res); } } }
输出结果
这将产生以下输出-
Byte Array = 00-0A-0F-14-1A-1E-22-2A-32 Value = 0 Result = 3036022196155648512
现在让我们来看另一个示例-
using System; public class Demo { public static void Main() { byte[] arr = {0, 0, 0, 10, 20, 0, 0, 25, 30, 0, 0, 0, 35, 45, 55, 65, 75}; Console.WriteLine("Byte Array = {0} ", BitConverter.ToString(arr)); for (int i = 0; i < arr.Length - 7; i = i + 8) { long res = BitConverter.ToInt64(arr, i); Console.WriteLine("\nValue = "+arr[i]); Console.WriteLine("Result = "+res); } } }
输出结果
这将产生以下输出-
Byte Array = 00-00-00-0A-14-00-00-19-1E-00-00-00-23-2D-37-41-4B Value = 0 Result = 1801439937015316480 Value = 30 Result = 4699274364531507230