C# 比较c中的字节数组十六进制值#

C# 比较c中的字节数组十六进制值#,c#,hex,bytearray,C#,Hex,Bytearray,我正在制作C#windows应用程序。在该应用程序中,我有一个包含十六进制值的字节数组 array[0]=4E array[1]=50 这里我想将这些值的组合作为4E50进行比较。我不想比较单个字节。请帮助我。提前谢谢 StringBuilder sb = new StringBuilder(); foreach (byte b in array) { sb.AppendFormat("{0:x2}", b) } return sb.ToString(); 编辑 受Godw

我正在制作C#windows应用程序。在该应用程序中,我有一个包含十六进制值的字节数组

 array[0]=4E
 array[1]=50
这里我想将这些值的组合作为
4E50
进行比较。我不想比较单个字节。请帮助我。提前谢谢

StringBuilder sb = new StringBuilder();
foreach (byte b in array)
{
       sb.AppendFormat("{0:x2}", b)
}
return sb.ToString();
编辑 受Godwin解决方案启发,但更好:

(array[0] << 8) | array[1]

(数组[0]我不确定我是否理解正确。是否要将0x4E50与另一个数字进行比较?如果是这样,您可以执行以下操作:

(array[0] << 8) + array[1]

(数组[0]现在还不清楚你的意思是什么-你有两个字节-你想把它们和什么进行比较,你希望结果是什么?你从哪里得到十六进制,并且是wich格式?我只想把这两个字节的组合和其他数字进行比较,以便进一步处理。这也会非常快。如果你需要的话,不用担心要添加另一个字节,请记住,移位4个字节基本上等于乘以16,所以0xF@Godwin很好的解决方案,比我的好+1@Godwin看我的答案(受你的启发)。