C#新人求问Byte[]的简单有关问题

C#新人求问Byte[]的简单问题
初始化一个byte数组的方法是这样的:byte[] Ctlbyte = new byte[8] {0x10,0x11 };    我想问几个问题,不太懂唉
1.我想单独(不在初始化中)给byte[1]赋值不行吗,行的话该怎么做(就类似于byte[1]=0x11,虽然我知道这样不行)。。
2.我设了一个枚举变量Control,想要在赋值的时候这样写  byte[] Ctlbyte = new byte[8] {Control.left,0x11 };  我知道这样是不行的,我想问复制时候怎么样把这个枚举带进去。。这样可以很好的更改
3. 其实我在做的就是::::定义了几个控制字用8byte组成一个int64,这里面有几个字节是公用的,每次我只想改其中一个并且用了枚举改变,不知道准确的做法,求指导。。
说了这么多不知道说清楚了没。。求助!

------解决思路----------------------
定义字节数组的时候可以不初始化.
byte[] Ctlbyte = new byte[8];         定义8个字节
Ctlbyte[0] = Control.left        给字节数组中的第一个字节单独赋值,  索引0可以任意改为其他的索引位置
------解决思路----------------------
赋值代码不能在方法或属性外面,你的初始化代码可以写构造函数或者load事件里