C#BitConverter.ToInt64()方法

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