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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM