C# ArrayList Remove RemoveRange Reverse SetRange 方法的学习

Sort的IComparer我不会设置,以后的再搞。。。QAQ

  1 using System;
  2 using System.Collections;
  3 
  4 namespace C_9_4
  5 {
  6 
  7     class Program
  8     {
  9 
 10         private  static void PutTXT(ArrayList b)
 11         {
 12             int i;
 13             for (i=0;i<b.Count;i++)
 14             {
 15                 Console.WriteLine("{0}", b[i]);
 16             }
 17             Console.WriteLine("////////////////////////");//分割线
 18 
 19         }
 20         static void Main(string[] args)
 21         {
 22             //ArrayList.Remove
 23             //移除 指定项的第一个指定元素
 24             //格式 ArrayList1.Remove(Object);
 25 
 26             ArrayList a = new ArrayList();
 27 
 28             a.Add("");
 29             a.Add("");
 30             a.Add("");
 31             a.Add("");
 32             a.Add("");
 33             a.Add("");
 34             a.Add("");
 35             a.Add("");
 36             PutTXT(a);
 37             //先验证输出后的结果的完整性
 38             a.Remove("");
 39             PutTXT(a);
 40             //从这一步的输出结果来看,第一个“傻”已经被移除了,而第二个傻字还在
 41 
 42             //ArrayList.RemoveAt
 43             //移除 指定位置的一个元素
 44             //格式 ArrayList1.RemoveAt(Int32);
 45             //我们继续在上面a的基础上写
 46 
 47             a.RemoveAt(3);//注意这里Int32填写的是下标索引
 48             PutTXT(a);//从这里看出指定的位置元素已经被移除了
 49 
 50             //ArrayList.RemoveRange
 51             //移除 指定范围内的所有元素
 52             //格式 ArrayList1.RemoveRange(index,count);
 53             //index表示的是要移除元素的从零开始的索引
 54             //count表示要移除元素的个数
 55 
 56             ArrayList b = new ArrayList() {"","","","","","","" };
 57             PutTXT(b);
 58             b.RemoveRange(1,2);
 59             PutTXT(b);
 60             //从这里我们能看出来,我们移除了下标为1,到下标为2 的元素,所以这里的的“才”“是”被移除了
 61 
 62             //ArrayList.Reverse
 63             //第一种方法
 64             //ArrayList1.Reverse();
 65             //将所有的元素反转顺序
 66             ArrayList c = new ArrayList() {"","","","","","","" };
 67             ArrayList d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 };
 68             //我们先来对d进行反转
 69             d.Reverse();
 70             PutTXT(d);
 71             //再对c进行反转顺序
 72             c.Reverse();
 73             PutTXT(c);
 74 
 75             //第二种方法就是指定一个部分,只让那个部分反转顺序
 76             //ArrayList1.Reverse(index,count);
 77             //这里index为从0开始的索引,count为需要反转的个数
 78 
 79             //先把c转回来
 80             c.Reverse();
 81             c.Reverse(3,2);//表示从下标为3的元素开始,数两个数据,然后反转顺序
 82             PutTXT(c);
 83             //成功的将”锤头“反转成了”头锤“
 84 
 85             //ArrayList.SetRange(index,Colletion);
 86             //将IColletion 复制到index索引的位置
 87             //将集合中的元素复制到ArrayList一定范围的元素上面
 88             //就任然以d为例
 89             d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 };
 90             ArrayList e = new ArrayList() {'S',1,5 };
 91             int[] f = new int[]{4,3};
 92             char[] g = new char[] {'B','A' };
 93 
 94             //先测试e
 95             d.SetRange(1,e);
 96             PutTXT(d);
 97             //这里从2开始被覆盖率,一直到e完全输出完
 98             //而且可以调用ArrayList类来完成复制
 99             d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 };
100             //d.SetRange(6, e);
101             //PutTXT(d);
102             //还是那个问题,复制的长度不能超过本来的长度,否在越界
103 
104             d.SetRange(0, f);
105             PutTXT(d);
106             d.SetRange(0, g);
107             PutTXT(d);
108             //由于ArrayList的特性,不管是什么类型的元素,他都可以装下去
109 
110             //ArrayList.Sort
111             //之前我们有介绍过Sort方法,但当时是为了学习BinarySearch时粗略的了解了一下
112             //Sort也有三种表示方法
113             //ArrayList.Sort()最基本的我就不赘述了
114 
115             //ArrayList.Sort(IComparer)
116             //比较元素的时候要使用IComparer
117             //但是我不会,就以后再搞吧,,,
118 
119         }
120 
121     }
122 
123 }
悟已往之不谏,知来者之可追
原文地址:https://www.cnblogs.com/ljh-study/p/13681931.html