0

私は愚かな質問をしますが...

C#/。NETを使用してストリームを作成し、短い読み取り(またはバイトが組み込まれている)用の独自の拡張関数を作成しました。

Xの長さの配列(私の例では16)を作成し、そのバイト配列を返すために使用できるものはありますか?それ以外の場合は例外をスローしますか?ReadByteはそれを実行し、組み込まれています。.NETFrameworkですでに求めているようなものがあるはずです。

4

1 に答える 1

2

Xの長さの配列(私の例では16)を作成し、そのバイト配列を返すために使用できるものはありますか?

バイトデータの場合は、Stream.Readを呼び出すだけです。

byte[] values = new byte[16];
int read = theStream.Read(values, 0, 16);
// Make sure you read all 16...

または、 BinaryReader.ReadBytesを使用できます。

byte[] values = theStream.ReadBytes(16);

短いデータを処理したい場合は、BinaryReaderに対してこれを行う拡張メソッドを作成します。

public static short[] ReadInt16Array(this BinaryReader reader, int elementsToRead)
{
     short[] results = new short[elementsToRead];
     for (int i=0;i<elementsToRead;++i)
        results[i] = reader.ReadInt16();
     return results;
}
于 2012-08-10T20:29:25.360 に答える