byte []到byte [int] - C#

时间:2014-11-01 03:43:37

标签: c# byte

嗯,这个问题已经引起了我很长一段时间的问题: - (

简而言之,我有这段代码:

        byte[] code;
        byte[] moreCodes;
        int x = moreCodes.Length;
        code = moreCodes[x]; // Error !!

我也尝试过这个方法

for(int i = 0; i < moreCodes.Length; i++)
   {
       code = moreCodes[i]; // Error !!
   } 

所以我的问题是,如何将几个字节的代码应用/复制到空字节容器中? byte []代码当前为空,我想让这个字节包含moreCodes的全部内容。

我的另一个想法是使用for循环和&amp;将moreCodes应用于自身,如下所示:

for(int i = 0; i < moreCodes.Length; i++)
   {
       moreCodes = moreCodes[i] ; // Error !!
   } 

关于如何解决这个问题的任何想法都将非常感激,我觉得这是一个我应该能够解决的愚蠢问题,但它是我能做到的那些挑剔的事情之一#39我弄清楚了。

感谢您阅读

1 个答案:

答案 0 :(得分:1)

现在你无法编译,因为你将字节数组与单个字节混合在一起。数组保存字节,但尝试使数组只等于一个字节是没有意义的。

此外,在运行时,您将在moreCodes.Length上收到错误。

那是因为你没有&#34;一个空的字节容器&#34;,你根本没有任何容器。

尝试

List<byte> moreCodes = new List<byte>();

然后你可以添加

moreCodes.Add(0xAA);

添加完所有数据后,将其转换为数组:

code = moreCodes.ToArray();

或者,如果您事先知道所需的长度,则可以使用数组:

byte[] moreCodes = new byte[72];  // here [72] specifies the size
for( int i = 0; i < moreCodes.Length; ++i )
    moreCodes[i] = (byte)i; // here [i] accesses one byte within the array