再会!
我需要在静态类中初始化一些字节序列(A)和字节(B, C, )。D我还static byte[]需要确切地需要两个序列。第一个 - DEFEND_A。她没有问题。第二—— DEFEND_B。它必须包括所有元素DEFEND_A 和字节D。这就是问题所在:我想不出这样一种操作的构造,它可以替换/* ? ? ? */以下代码中的注释:
public static class SMTH_GLOBAL_CLASS {
public static readonly byte[] A = new byte[] { 1, 2 };
public static readonly byte B = 3;
public static readonly byte C = 4;
public static byte[] DEFEND_A = new byte[] { C, B, A[0] };
public static readonly byte D = 5;
public static byte[] DEFEND_B = /* ? ? ? */;
}
我想出的唯一一件事是以下代码:
byte[] DEFEND_B = new byte[DEFEND_A.Length + 1];
Array.Copy(DEFEND_A, DEFEND_B, DEFEND_A.Length);
DEFEND_B[DEFEND_A.Length] = D;
它的使用不适合我,因为我DEFEND_B不仅想从我插入此代码的方法中访问。同样,DEFEND_B必须是static byte[]类字段。
new byte[] { C, B, A[0], D }我可以在适当的位置使用构造/* ? ? ? */,但这只会使序列的可编辑性复杂化DEFEND_A。
我将清楚而准确地提出问题:我应该用什么结构来代替注释/* ? ? ? */,使其DEFEND_B包含所有元素DEFEND_A和字节D?
作为一种选择
但请记住,上面的构造将为每次调用在内存中创建一个新数组。