• 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);

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

    需要注意的是:
    多个 ArraySegment 实例可以引用同一个原始数组,从而可能发生重叠。Array 属性返回整个原始数组,而不是该数组的副本;

    所以:

                arrSeg.Array[2] = "xx";

    则会导致myArr里的值也发生变化,此时的myArr值则为:

       { "Overred", "Medloy", "xx", "Hare" };
  • 相关阅读:
    通过kinaba对es进行crud
    安装启动kibana
    es安装启动
    IP网络层
    Java 高级文本处理
    django17
    邮件问题
    django16
    django15
    django14
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1441786.html
Copyright © 2020-2023  润新知