C#中怎么为数组特定的位置赋值.

C#中如何为数组特定的位置赋值.?
我在C#中定义了数组
        byte[] save = new byte[] { 0xEF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x06, 0x06, 0x01, 0x00, 0x0B, 0x00, 0x19}; 
然后save[12]是模块的存储位置,我的问题是...
我设置了一个对话框textbox1,利用这个对话框输入地址号,比如1,2,3....然后点击确定后将这个数字赋值到save[12],请问应该怎么实现?我写好多个都一直报错...
        
private void button4_Click(object sender, EventArgs e)
        {
           /* num = textBox1.Text;
            save[12] = num.ToString("X2");*/

        }

------解决方案--------------------
Byte.Parse(num)
Byte.Parse("0x" + num)
Convert.ToByte(num)
Convert.ToByte(num, 16)
等等