C#中的BitConverter类

BitConverter类将基本数据类型转换为字节数组,并将字节数组转换为基本数据类型。

以下是方法-

方法描述
DoubleToInt64Bits(Double)将指定的双精度浮点数转换为64位带符号整数。
GetBytes(布尔)以字节数组形式返回指定的布尔值。
GetBytes(字符)以字节数组形式返回指定的Unicode字符值。
GetBytes(双精度)以字节数组形式返回指定的双精度浮点值。
GetBytes(Int16)以字节数组形式返回指定的16位带符号整数值。
GetBytes(Int32)以字节数组形式返回指定的32位带符号整数值。
Int64BitsToDouble(Int64)将指定的64位有符号整数重新解释为双精度浮点数。
ToBoolean(Byte [],Int32)返回从字节数组中指定位置的字节转换而来的布尔值。
ToChar(Byte [],Int32)返回从字节数组中指定位置的两个字节转换而来的Unicode字符。
ToString(Byte [])将指定字节数组的每个元素的数值转换为其等效的十六进制字符串表示形式。
ToString(Byte [],Int32)将指定的字节子数组的每个元素的数值转换为其等效的十六进制字符串表示形式。
ToString(Byte [],Int32,Int32)将指定的字节子数组的每个元素的数值转换为其等效的十六进制字符串表示形式。
ToUInt16(Byte [],Int32)返回一个16位无符号整数,该整数从字节数组中指定位置的两个字节转换而来。

让我们看一些例子-

C#中的BitConverter.ToBoolean()方法返回一个从字节转换为字节数组中指定位置的布尔值。

语法

以下是语法-

public static bool ToBoolean (byte[] arr, int startIndex);

上面的arr是字节数组,而startIndex是值中字节的索引。

示例

现在让我们看一个实现BitConverter.ToBoolean()方法的示例-

using System;
public class Demo {
   public static void Main(){
      byte[] arr = { 50, 100 };
      Console.WriteLine("Array values...");
      for (int i = 0; i < arr.Length; i++) {
         Console.WriteLine("{0} ", arr[i]);
      }
      Console.WriteLine("\nConverted values...");
      for (int index = 0; index < arr.Length; index++) {
         bool res = BitConverter.ToBoolean(arr, index);
         Console.WriteLine(""+res);
      }
   }
}

输出结果

这将产生以下输出-

Array values...
50
100
Converted values...
True
True

C#中的BitConverter.DoubleToInt64Bits()方法用于将指定的双精度浮点数转换为64位带符号整数。

语法

以下是语法-

public static long DoubleToInt64Bits (double val);

上面的val是要转换的数字。

示例

现在让我们看一个实现BitConverter.DoubleToInt64Bits()方法的示例-

using System;
public class Demo {
   public static void Main(){
      double d = 5.646587687;
      Console.Write("Value = "+d);
      long res = BitConverter.DoubleToInt64Bits(d);
      Console.Write("\n64-bit signed integer = "+res);
   }
}

输出结果

这将产生以下输出-

Value = 5.646587687 
64-bit signed integer = 4618043510978159912