📅  最后修改于: 2023-12-03 15:08:51.941000             🧑  作者: Mango
在C#中,我们可以使用 Convert.ToString() 方法将十六进制数转换为二进制字符串。下面是一个示例:
string hex = "AB";
string binary = Convert.ToString(Convert.ToInt32(hex, 16), 2);
Console.WriteLine(binary);
输出结果为:10101011
在上面的代码中,我们首先定义一个十六进制数字符串 hex
,它的值为 "AB"。接着,我们使用 Convert.ToInt32()
将其转换为整数类型,并指定进制数为 16,这样就将十六进制数转换为了十进制数。然后,我们再使用 Convert.ToString()
,指定转换的进制数为 2,这样就将十进制数转换为了二进制字符串。
需要注意的是,Convert.ToString()
方法有多个重载,我们可以指定转换后的字符串长度,例如:
string binary = Convert.ToString(Convert.ToInt32(hex, 16), 2).PadLeft(8, '0');
上面的代码将转换后的二进制字符串用 0 补齐到长度为 8。
另外,如果我们需要将多个十六进制数转换为二进制字符串,并将它们拼接起来,可以使用 LINQ 的 Aggregate()
方法,例如:
List<string> hexList = new List<string>{"A", "B"};
string binary = hexList.Aggregate("", (current, hex) => current + Convert.ToString(Convert.ToInt32(hex, 16), 2).PadLeft(4, '0'));
上面的代码将十六进制数列表 hexList
中的所有数转换为二进制字符串,并将它们拼接成一个字符串。
总结一下,将十六进制数转换为二进制字符串在C#中非常容易,只需要使用 Convert.ToString() 方法即可。如果需要将多个数转换并拼接起来,可以使用 LINQ 的 Aggregate()
方法。