如何在 C# 中将十六进制字符串 'B5010008100400010000' 转换为十进制并求和?
时间: 2024-10-28 19:06:57 浏览: 17
C#十六进制字符串转十进制int的方法
3星 · 编辑精心推荐
在C#中,你可以通过以下步骤将十六进制字符串转换为十进制整数数组,然后求和:
1. 首先,需要将十六进制字符串解析为字节数组,因为每个十六进制数字对应一个字节:
```csharp
string hexString = "B5010008100400010000";
byte[] bytes = Array.ConvertAll(hexString.ToCharArray(), c => Convert.ToByte(c, 16));
```
`ToCharArray()`将字符串转换为字符数组,`Convert.ToByte(c, 16)`将每个字符转成对应的十六进制数值。
2. 然后,可以遍历字节数组,将每个字节转换为十进制整数并累加到总和:
```csharp
int sum = 0;
foreach (byte b in bytes)
{
sum += b;
}
```
`b`是一个字节,将其转换为十进制就是它的数值。
3. 打印出结果:
```csharp
Console.WriteLine($"The sum of the hexadecimal string is: {sum}");
```
完整的代码示例:
```csharp
string hexString = "B5010008100400010000";
byte[] bytes = Array.ConvertAll(hexString.ToCharArray(), c => Convert.ToByte(c, 16));
int sum = 0;
foreach (byte b in bytes)
{
sum += b;
}
Console.WriteLine($"The sum of the hexadecimal string '{hexString}' is: {sum}");
```
阅读全文