我的号码是“000001B6”(十六进制)。我想将十六进制“000001B6”转换为整数或字节,然后在字节数组中搜索结果编号,以检查该数字是否存在于数组中。
我怎样才能在C#中这样做:
byte[] temp = new byte[20];
number = 000001B6 // convert number to integer or byte then search result number in array
答案 0 :(得分:0)
尝试将十六进制数转换为整数
string hexNumber = "000001B6";
int integerValue = int.Parse(hexNumber, System.Globalization.NumberStyles.HexNumber);
您只能搜索255,因为它是byte[]
的最大值,因此您必须确保十六进制数不应超过该值。
但你的例子是字符串ie。 00001B6
相当于438
。所以你需要照顾范围。
否则,您可以简单地使用.Any
函数来检查数组中是否存在。
bool isExists = temp.Any(x => x == integerValue);
答案 1 :(得分: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);