zoukankan      html  css  js  c++  java
  • C# 集合ArrayList :可以存储任何类型的数组,的基本用法

      

            public void main()
            {
                //可以存储任何类型的数组
                ArrayList alist = new ArrayList();
    
                AddData(alist);
                RemoveData(alist);
                UpdateData(alist);
                SearchData(alist);
                OtherFun(alist);
            }
    
            /// <summary>
            /// 往集合加数据
            /// </summary>
            /// <param name="alist"></param>
            public void AddData(ArrayList alist)
            {
                alist.Add(0);
                alist.Add(1.1);
                alist.Add("test");
                alist.Add(true);
    
                alist.Add(new int[] { 1, 2 });  //增加一个数组,增加了1个
    
                //批量添加
                alist.AddRange(new int[] { 1, 2 });//匹配增加一个数据,增加了2个
    
                alist.AddRange(new List<string>() { "test1", "test2" });
    
                alist.Insert(1, "test3");
            }
    
            /// <summary>
            /// 移除集合数据
            /// </summary>
            /// <param name="alist"></param>
            public void RemoveData(ArrayList alist)
            {
                //移除:
                alist.Remove(0);
                alist.RemoveAt(1);
                alist.RemoveRange(1, 2);
    
            }
    
            /// <summary>
            /// 修改集合数据
            /// </summary>
            /// <param name="alist"></param>
            public void UpdateData(ArrayList alist)
            {
                //修改
                alist[0] = 4;
                alist.SetRange(0, new string[] { "a", "b" });
    
                //for里面可以修改数据
                for (int i = 0; i < alist.Count; i++)
                {
                    alist[i] = 4;
                }
    
                //查询:foreach里面,不运行修改、删除、增加集合
                foreach (object val in alist)
                {
                    alist[0] = 1;  //System.InvalidOperationException:“集合已修改;可能无法执行枚举操作。”
                }
            }
    
            /// <summary>
            /// 查询集合数据
            /// </summary>
            /// <param name="alist"></param>
            public void SearchData(ArrayList alist)
            {
                for (int i = 0; i < alist.Count; i++)
                {
                }
    
                foreach (object val in alist)
                {
                }
    
                //通过枚举器、迭代器遍历,foreach的底层就是枚举器,也不能里面修改集合
                IEnumerator ie = alist.GetEnumerator();  //一开始ie没有指向,需要movenext才开始指向第一位
                while (ie.MoveNext())
                {
                    var val = ie.Current;
                }
            }
    
            /// <summary>
            /// 集合ArrayList的其他方法
            /// </summary>
            /// <param name="alist"></param>
            public void OtherFun(ArrayList alist)
            {
                //排序
                alist.Sort();     //顺序排序
                alist.Reverse();  //倒叙排序
                 
                //拷贝
                object[] obj = new object[10];
                alist.CopyTo(obj);
            }
  • 相关阅读:
    工作流控制模式-触发模式2种
    工作流控制模式-结束模式2种
    工作流控制模式-迭代模式3种
    工作流控制模式-取消和强制完成模式5种
    工作流控制模式-状态模式5种
    工作流控制模式-多实例模式7种
    工作流控制模式-高级分支和同步模式14种
    工作流控制模式-基本控制模式5种
    工作流模式附录
    软件似生命物种
  • 原文地址:https://www.cnblogs.com/parkerchen/p/12885840.html
Copyright © 2011-2022 走看看