どうやってやるのでしょうか? バイト配列が与えられた場合:
byte[] foo = new byte[4096];
配列の最初の x バイトを別の配列として取得するにはどうすればよいですか? (具体的には、 として必要ですIEnumerable<byte>
)
これは s を操作するためのものですSocket
。最も簡単な方法は、Perl 構文に似た配列のスライスだと思います。
@bar = @foo[0..40];
配列の最初の 41 要素を返します@bar
。C# で何か見落としている点があるのでしょうか、それとも他に何かすべきことがあるのでしょうか?
LINQ は私にとってはオプションです (.NET 3.5)。役に立つかもしれません。
ベストアンサー1
使用できるArraySegment<T>
配列をコピーしないので非常に軽量です。
string[] a = { "one", "two", "three", "four", "five" };
var segment = new ArraySegment<string>( a, 1, 2 );