📌  相关文章
📜  如何在c#中将十六进制转换为二进制(1)

📅  最后修改于: 2023-12-03 15:08:51.941000             🧑  作者: Mango

如何在C#中将十六进制转换为二进制

在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() 方法。