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的值
人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。