C# 16 进制字符串转 int的方法
C# 16 进制字符串转 int 的方法 在 C# 编程中,经常会遇到将十六进制字符串转换为整数的需求,例如在处理硬件测试数据时。因此,了解如何正确地将十六进制字符串转换为整数是非常重要的。在本节中,我们将详细介绍 C# 16 进制字符串转 int 的方法。 Convert.ToInt32() 方法 在 C# 中,Convert.ToInt32() 方法是将字符串转换为整数的常用方法。但是,如果输入的是十六进制字符串,直接使用 Parse 方法将会抛出异常 System.FormatException。这是因为 Parse 方法无法识别十六进制字符串。因此,我们需要使用 Convert.ToInt32() 方法,并指定基数为 16。 例如,如果我们要将十六进制字符串 "0xaa" 转换为整数,可以使用以下代码: ```csharp int intVal = Convert.ToInt32("0xaa", 16); ``` 在上面的代码中,我们使用 Convert.ToInt32() 方法,并将基数设置为 16,以便正确地将十六进制字符串转换为整数。 Split() 和 Select() 方法 在实际应用中,我们可能需要将一个字符串拆分成多个十六进制字符串,然后将其转换为整数数组。为了实现这个需求,我们可以使用 Split() 方法和 Select() 方法。 例如,如果我们有一个字符串 "AA BB CC 12 01 0D 00 34 38 34 35 32 30 41 35 33 46 37 30 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00",我们可以使用以下代码将其转换为整数数组: ```csharp var command = str.Split(' ').Select(temp => "0x" + temp).Select(temp => (byte)Convert.ToInt32(temp, 16)).ToArray(); ``` 在上面的代码中,我们首先使用 Split() 方法将字符串拆分成多个十六进制字符串,然后使用 Select() 方法将其转换为整数数组。 将十六进制字符串转换为整数是 C# 编程中的常见需求。使用 Convert.ToInt32() 方法和 Split()、Select() 方法,我们可以轻松地实现十六进制字符串的转换。