C#文本框内容转成16进制数组

刚学C#,想问一下怎么获取文本框中的内容本转换成16进制数组
我现在就是不会转换,比如文本框中输入500,相应的byte数组应该为01 F4,输入50应该为00 32
给个指点吧,卡在这好久了


             var str = Convert.ToString(500, 16).PadLeft(4,'0');//不足4位补0
            Console.WriteLine(str);
            str = Convert.ToString(50, 16).PadLeft(4,'0');//不足4位补0
            Console.WriteLine(str);
            Console.ReadLine();

img

private static byte[] strToToHexByte(string hexString)
        {
             hexString = hexString.Replace(" ", "");//先去掉多余的空格
           if ((hexString.Length % 2) != 0)
                 hexString = "0"+hexString;//输入的字符串不是偶数长度的,前面补零,不是后面补空格
            byte[] returnBytes = new byte[hexString.Length / 2];
            for (int i = 0; i < returnBytes.Length; i++)
            {
                string str=hexString.Substring(i * 2, 2);
                bool IsByte = byte.TryParse(str,System.Globalization.NumberStyles.HexNumber,null,out returnBytes[i]);
                if(!IsByte)
                {
                    //字符串里存在不能转换为16进制数的部分,自行处理
                }
            }
            return returnBytes;
         }


Console.WriteLine("十进制转十六进制表示: "+Convert.ToString(textbox1.text, 16));
关键代码:Convert.ToString(textbox1.text, 16)

/// <summary>
        /// 字符串转16进制字节数组
        /// </summary>
       /// <param name="hexString"></param>
        /// <returns></returns>
        private static byte[] strToToHexByte(string hexString)
        {
             hexString = hexString.Replace(" ", "");
           if ((hexString.Length % 2) != 0)
                 hexString += " ";
            byte[] returnBytes = new byte[hexString.Length / 2];
            for (int i = 0; i < returnBytes.Length; i++)
                returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
            return returnBytes;
         }

如果输入的是正整数的话


        private void button4_Click(object sender, EventArgs e)
        {
            string a = textBox1.Text.Trim();
            long b  = long.Parse(a);
            string c = "";
            if (b > 0 && b < 65536)
            {
                c = b.ToString("x4").ToUpper().Insert(2, " ");
                MessageBox.Show(c);
            }else if (b >= 65536 && b< 4294967296)
            {
                c = b.ToString("x8").ToUpper().Insert(2, " ").Insert(5," ").Insert(8, " ");
                MessageBox.Show(c);
            }
            else
            {
                c = b.ToString("x").ToUpper();
                MessageBox.Show(c);
            }
           
        }