ArraySegment 的使用 【转载】

本文转载自 http://www.cnblogs.com/overred/archive/2009/01/17/1359126.html

ArraySegment顾名思义就是Array区块,数组的小抽屉,用于对该数组中元素的范围进行分隔。比如这个数组:
String[] myArr = { "Overred", "Medloy", "Xiaoguai", "Hare" };
我们用ArraySegment这个抽屉给装起来就是:
ArraySegment<String> arrSeg = new ArraySegment<String>(myArr);
只需for一下就可以得出这个小抽屉里的myArr值(不能foreach,ArraySegment无GetEnumerator方法实现)

 

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);
 for(int i = myArrSegMid.Offset; i < (myArrSegMid.Offset + myArrSegMid.Count); i++)
 {
     Console.WriteLine(" [{0}] : {1}", i, myArrSegMid.Array[i]);
 }

则取myArr的索引从1到3的值

 

posted @ 2018-03-29 10:29  ProZkb  阅读(433)  评论(0编辑  收藏  举报