C#視訊——集合的常用方法

2020-10-28 13:00:32

可以將集合看成長度可變的,有很多方法的陣列。

1.新增資料

往集合裡面新增資料 : Add( )              (新增的內容,無限新增)

新增int陣列,要遍歷出來                        通過下標可以改變某個索引的值

2.集合插入資料的方法

①通過建構函式可以新增一個陣列

②通過Add()方法可以新增陣列-----------------但是算成一個元素

通過AddRange()也可以新增陣列------------陣列中元素的數量

int [] nums = new int [] {1,2,3,4,5};
arrayList.AddRange(nums);

③集合插入資料

ArrayList al = new ArrayList();//範例化
            al.Add(1);
            al.Add(3);
            al.Add(5);
            al.Add(7);
            al.Add(9);
            for (int i = 1; i <=10; i+=2)
            {
                al.Insert(i, i + 1);
            }
            for (int i = 0; i < al.Count ; i++)
            {
                Console.WriteLine(al[i]);
            }
            Console.ReadKey();

3.集合的常用方法

    al.Clear();//清空
    al.Contains(2);//判斷這個集合中是否包含這個元素
    int number = al.IndexOf(2);//找某一個元素對應的索引
    al.InsertRange(4,nums);//往某一個索引位置插入一個陣列
    al.Remove(1);
    al.RemoveAt(1);//移除索引對應的值
    al.RemoveRange(3, 100);//從指定索引處開始移除,移除多少個,超出索引報異常
    al.Reverse();//反轉
    al.Sort();//排序

4.集合練習1:求集合元素總和和平均值

static void Main(string[] args)
        {
            ArrayList arraylist = new ArrayList();
            int sum = 0;
            for (int i = 1; i <= 100; i++)
            {
                arraylist.Add(i);
                //為什麼 sum += (int)arraylist[i];不寫到這?下標到99
            }
            for (int i = 0; i < arraylist .Count ; i++)
            {
                if(arraylist [i] is int)//判斷是否可以轉換為int型別
                {
                    sum += (int)arraylist[i];//強制轉換
                }
                
            }
            double  avg = sum * 1.0 / arraylist.Count;
            Console.WriteLine(sum);
            Console.WriteLine(avg);
            Console.ReadKey();
        }

 集合練習2:隨機往結合中新增10個資料,不能重複,在求和與平均值

            ArrayList arr = new ArrayList();
            Random r = new Random();
            while (arr.Count!=10)
            {
                int num = r.Next(1, 100);
                if (!arr.Contains (num))
                {
                    arr.Add(num);
                }  
            }
            int sum = 0;
            for (int i = 0; i < arr.Count; i++)
            {
                if(arr[i] is int)
                {
                    sum += (int)arr[i];
                }
                Console.WriteLine(arr[i]);
            }
            double avg = sum * 1.0 / arr.Count;
            Console.WriteLine(sum);
            Console.WriteLine(avg);
            Console.ReadKey();