C#基础-数组-ArrayList

数组ArrayList

using System.Collections;   //表示引入集合的命名空间

数组ArrayList容量本身是不固定的,根据存储的数据动态变化

// 声明一个ArrayList对象
ArrayList arrList = new ArrayList();
// 可以在数组中任意添加元素
arrList.Add(12);
arrList.Add(5);
arrList.Add(9);
Console.WriteLine("数组的容量是:" + arrList.Capacity);

输出ArrayList元素:每个放到ArrayList里的数组元素都会转换为object类型存放

foreach(object o in arrList)
{
    Console.WriteLine(o);
}

排序

Console.WriteLine("排序后的ArrayList的元素是:");
arrList.Sort();
foreach(object o in arrList)
{
    Console.WriteLine(o);
}

ArrayList的增加与删除元素

想ArrayList插入元素

arrList.Insert(0, 78);
foreach(object o in arrList)
{
    Console.WriteLine(o);
}

删除ArrayList元素

arrList.Remove(78); 通过元素值删除某个元素
arrList.RemoveAt(1); 通过索引删除

arrList.Remove(78);     // 通过元素值删除某个元素
arrList.RemoveAt(1);    // 通过索引删除
Console.WriteLine("删除后的元素:");
foreach (object o in arrList)
{
    Console.WriteLine(o);
}

在5个学生中随机抽取2个学生名字

using System;
using System.Collections;   //表示引入集合的命名空间

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList stuNames = new ArrayList();
            stuNames.Add("Alex");
            stuNames.Add("Bob");
            stuNames.Add("Kate");
            stuNames.Add("Chale");
            stuNames.Add("Max");
            ArrayList selecList = new ArrayList();
            // 抽取两个不同的学生
            for(int i = 1; i <= 2; i++)
            {
                while (true)
                {
                    int randIndex = new Random().Next(0, 5); //抽取0-4,不包含5
                    if (selecList.Contains(stuNames[randIndex]))    //重复抽取
                    {
                        continue;
                    }
                    else
                    {
                        selecList.Add(stuNames[randIndex]);
                        break;
                    }
                }
            }
            Console.WriteLine("抽取出来的两名学生:");
            foreach(object o in selecList)
            {
                Console.WriteLine(o);
            }
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/carious/p/10661057.html