static void arrayList()
        {
            //Single dimensional array that can contain pretty much anything
            //ArrayList = ArrayList <- this is what I prefer
            //IList = ArrayList
            //ICollection = ArrayList
            //IEnumerable = ArrayList

            ArrayList arrayList1 = new ArrayList();

            arrayList1.Add(1);
            arrayList1.Add("Two");
            arrayList1.Add(3);
            arrayList1.Add(4);
            arrayList1.Add(4.5);

            Console.WriteLine($"ArrayList1: {string.Join(", ", arrayList1.ToArray())}");

            IList arrayList2 = new ArrayList()
            {
                100, 200, 300, 400
            };

            Console.WriteLine($"ArrayList2: {string.Join(", ", ((ArrayList)arrayList2).ToArray())}");

            arrayList1.AddRange(arrayList2);

            Console.WriteLine($"ArrayList1 with ArrayList2: {string.Join(", ", arrayList1.ToArray())}");

            ArrayList arrayList3 = new ArrayList();

            arrayList3.Add(500);
            arrayList3.Add(600);
            arrayList3.Add(700);
            arrayList3.Add(800);

            arrayList3.InsertRange(0, arrayList2);//0 = where to start arrayList2 in arrayList3

            Console.WriteLine($"ArrayList3 with ArrayList2: {string.Join(", ", arrayList3.ToArray())}");

            prompt();
        }
Пример #2
0
        static void Main(string[] args)
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add(22);
            arrayList.Add("Ali");
            arrayList.Add(true);

            for (int i = 0; i < arrayList.Count; i++)
            {
                System.Console.WriteLine(arrayList[i]);
            }

            System.Console.WriteLine(new String('-', 30));
            arrayList.Remove(22);

            // Добавление в набор групп элементов используя метод AddRange.
            var anArray = new [] { "more", "or", "less" };

            arrayList.AddRange(anArray);

            var anotherArray = new[] { new object(), new ArrayList() };

            arrayList.AddRange(anotherArray);

            // Вставка элементов в заданное положение используя метод Insert.
            arrayList.Insert(3, "Hey All");

            // Вставка элементов в заданное положение используя метод InsertRange.
            var moreString = new[] { "goodnight", "see ya" };

            arrayList.InsertRange(4, moreString);

            // Вставка элементов в заданное положение используя индексатор.
            // (!) При использовании индексатора элемент не вставляется в набор, а перезаписывается прежний объект, бывший в этом элементе.
            arrayList[2] = "Ali (Second)";

            foreach (var item in arrayList)
            {
                // Never do this!!!
                // arrayList.Remove(item);

                System.Console.WriteLine(item);
            }

            // Удаление из набора одиночных элементов используя метод Remove.
            arrayList.Add("Hello");             // Добавим второе Hello
            arrayList.Remove("Hello");          // Удалим первое Hello

            // Удаление из набора одиночных элементов с заданным индексом используя метод RemoveAt.
            arrayList.RemoveAt(0);

            // Удаление из набора, группы элементов с заданным диапазоном используя метод RemoveRange.
            arrayList.RemoveRange(0, 4);

            // Другие методы для добавления и удаления элементов набора - Contains, IndexOf, Clear.
            string myString = "Hello";

            if (arrayList.Contains(myString))
            {
                int index = arrayList.IndexOf(myString);
                arrayList.RemoveAt(index);
            }

            System.Console.WriteLine(new String('-', 30));
            foreach (var item in arrayList)
            {
                System.Console.WriteLine(item);
            }

            arrayList.Clear();
            System.Console.WriteLine(new String('-', 30));
            System.Console.WriteLine("Count:{0}", arrayList.Count);

            System.Console.ReadKey();
        }