AraySegmentの使用

1240 ワード

本論文はhttp://www.cnblogs.com/overred/archive/2009/01/17/1359126.htmlから転載しました。
AraySegmentとは、名前の通りアリーブロックであり、配列の小さな引き出しであり、配列中の要素の範囲を分離するために使用されます。この配列:
    String[] myArr = { "Overred", "Medloy", "Xiaoguai", "Hare" };
私達はAraySegmentという引出しで入れます。
ArraySegment<String> arrSeg = new ArraySegment<String>(myArr);
forを押すだけで、この小さな引き出しの中のmyArr値が得られます。
for ( int i = arrSeg.Offset; i < (arrSeg.Offset + arrSeg.Count); i++ )  {
         Console.WriteLine( "   [{0}] : {1}", i, arrSeg.Array[i] );
      }
たとえば、私たちはある区域を取りたいです。いいです。
  ArraySegment<String> myArrSegMid = new ArraySegment<String>(myArr, 1, 3);
myArのインデックスは1から3までの値を取ります。
複数のAraySegmentの例は、同一の元の配列を参照することができ、重複が生じる可能性があることに留意されたい。Aray属性は、配列のコピーではなく、元の配列全体を返します。
だから:
            arrSeg.Array[2] = "xx";
myArrの値も変化するが、この場合のmyArr値は以下の通りである。
   { "Overred", "Medloy", "xx", "Hare" };