C# 配列スライスを効率的に使用する
C# プログラミングでは、配列のスライスとは、既存の配列から連続する要素のサブセットを抽出する操作を指します。この機能は、処理または分析のためにデータの特定の部分を分離するためによく使用されます。
配列スライスの作成
C# で配列スライスを作成するには、次のメソッドを使用できます:
<code class="language-csharp">byte[] byteArray = new byte[4096]; var slice = new ArraySegment<byte>(byteArray, 0, 40);</code>
この例では:
byteArray
は、スライスを抽出する元の配列です。 new ArraySegment<byte>(..., ..., ...)
は、新しい ArraySegment
オブジェクトを作成するコンストラクターです。 byteArray
: 元の配列。 0
: スライスの開始インデックス。 40
: スライス内の要素の数。 によって生成されたスライス オブジェクトには、元の byteArray
への参照と、スライスの開始インデックスと長さに関する情報が含まれています。重要なのは、配列データはコピーされないことです。
ArraySegment: 機能と利点
ArraySegment
クラスは、いくつかの重要な機能と利点を提供します。
ArraySegment
オブジェクトは、基礎となる配列データをコピーしないため、軽量で効率的です。 ArraySegment
クラスには、配列の操作に使用できるジェネリック メソッドと型があります。 ArraySegment
オブジェクトは元の配列への参照を保持するため、基になるデータに直接アクセスして変更することができます。 配列スライスを使用する
配列スライスを作成した後、それを反復可能なコレクションとして使用できます。
<code class="language-csharp">foreach (byte b in slice) { // 对字节执行某些操作 }</code>
これにより、別の配列を作成せずにスライス内の要素を処理できます。
注: C# には Perl の @bar = @foo[0..40]
のような配列スライスのための専用の構文はありませんが、ArraySegment
クラスは同じ機能を実現する強力かつ効率的な方法を提供します。
以上がC# で配列スライスを効率的に作成して使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。