簡體   English   中英

如何在C#中創建未知大小的byte []?

[英]How to create a byte[] of unknown size in C#?

我正在嘗試創建一個字節[]給定一些未知的字節數。 這是一個例子:

ArrayList al = new ArrayList();
al.Add(0xCA);
al.Add(0x04);
byte[] test = (byte[])al.ToArray(typeof(byte));

我收到一個錯誤,即數組中的一個或多個值無法轉換為字節。 我在這做錯了什么?

謝謝

嘗試List<byte>然后使用ToArray

要么使用泛型集合而不是非泛型ArrayList ,要么確保實際使用字節。 0xCA是一個int ,而不是一個byte

        ArrayList al = new ArrayList();
        al.Add((byte)0xCA);
        al.Add((byte)0x04);
        byte[] test = (byte[])al.ToArray(typeof(byte));

使用List<byte>如下所示。 當您使用ArrayList然后調用al.Add(0xCA)時,實際上是將int添加到ArrayList中。

List<byte> al = new List<byte>();
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM