C# 如何将一个16进制的int转16进制
时间: 2024-05-13 07:16:47 浏览: 8
在 C# 中,可以使用 `ToString` 方法将一个整数转换为指定进制的字符串。
以下是将一个16进制的int转换为16进制字符串的示例代码:
```csharp
int hexInt = 0xABCDEF; // 一个16进制的int
string hexString = hexInt.ToString("X"); // 将16进制的int转换为16进制字符串
Console.WriteLine(hexString); // 输出结果为 "ABCDEF"
```
在上面的示例代码中,`ToString` 方法的参数 `"X"` 表示输出16进制字符串。你可以将参数值改为 `2`、`8` 或 `10`,分别表示输出2进制、8进制或10进制字符串。
相关问题
C#写一个字符16进制转int8的方法
以下是一个将16进制字符转换为int8的C#方法:
```csharp
public static sbyte HexCharToInt8(char hexChar)
{
if (hexChar >= '0' && hexChar <= '9')
{
return (sbyte)(hexChar - '0');
}
else if (hexChar >= 'a' && hexChar <= 'f')
{
return (sbyte)(hexChar - 'a' + 10);
}
else if (hexChar >= 'A' && hexChar <= 'F')
{
return (sbyte)(hexChar - 'A' + 10);
}
else
{
throw new ArgumentException("Invalid hex character: " + hexChar);
}
}
```
这个方法将一个字符作为输入,返回一个sbyte类型的值。如果输入的字符是有效的16进制字符(0-9,a-f或A-F),则返回相应的int8值。如果输入的字符不是有效的16进制字符,则抛出一个ArgumentException异常。
C# 16进制转16进制数组
以下是将一个16进制字符串转换为16进制数组的C#代码:
```csharp
string hexString = "3F2A8B1C";
byte[] byteArray = new byte[hexString.Length / 2];
for (int i = 0; i < byteArray.Length; i++)
{
byteArray[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
}
```
在这个例子中,我们先声明了一个16进制字符串 `hexString`,并将其赋值为 "3F2A8B1C"。然后,我们创建了一个字节数组 `byteArray`,该数组的长度等于16进制字符串的长度除以2(因为每两个字符代表一个字节)。接下来,我们使用一个循环来遍历字节数组,并使用 `Convert.ToByte` 方法将每两个字符转换为一个字节,最后将其存储在字节数组中。
如果需要将16进制数组转换为16进制字符串,可以使用以下代码:
```csharp
byte[] byteArray = { 0x3F, 0x2A, 0x8B, 0x1C };
string hexString = BitConverter.ToString(byteArray).Replace("-", "");
```
在这个例子中,我们声明了一个字节数组 `byteArray`,并将其初始化为 { 0x3F, 0x2A, 0x8B, 0x1C }。然后,我们使用 `BitConverter.ToString` 方法将字节数组转换为16进制字符串,并使用 `Replace` 方法删除其中的连字符。最后,我们将16进制字符串存储在 `hexString` 变量中。