-1

我有数字“000001B6”(十六进制)。我想将十六进制“000001B6”转换为整数或字节,然后在字节数组中搜索结果编号以检查该数字是否存在于数组中。

我如何在 C# 中做到这一点,例如:

byte[] temp = new byte[20];

number = 000001B6 // convert number to integer or byte then search result number in array 
4

2 回答 2

0
byte[] temp = new byte[20];
var i = int.Parse("000001B6", System.Globalization.NumberStyles.HexNumber); //438
if(i <= byte.MaxValue) //will never be true for 000001B6 since 438 > 255
    var hasValue = temp.Contains((byte)i);
于 2013-10-21T20:45:19.097 回答
0

试试这个将十六进制数转换为整数

string hexNumber = "000001B6";
int integerValue = int.Parse(hexNumber, System.Globalization.NumberStyles.HexNumber);

您只能搜索 255,因为它是 的最大值byte[],因此您必须确保您的十六进制数不应超过该值。

但是您的示例字符串即。00001B6相当于438。所以你需要照顾范围。

否则,您可以简单地使用.Any函数来检查数组内部的存在。

bool isExists = temp.Any(x => x == integerValue);
于 2013-10-21T20:44:25.133 回答