C# 16进制定义 问题 请教高手解答~!!!

this.Invoke((EventHandler)(delegate
        {
            if (isOpen1)
            {
                var str = System.Text.Encoding.Default.GetString(buffer1);
                this.tbxRecvData.Text += sp1.ReadLine() + "\r\n";
            }
                            这段读取 中 要如何 定义收到的 信息变为 16进制

for (int i = 0; i < buffer1.Count() / 2; i++)
{
str+= string.Format("X2", buffer1[i*2]*16+buffer1[i*2+1]);
}