C#基础知识6:ArrayList

/*
 * Author:hiyo585
 * Company: hiyo studios 
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace ArrayListDemo1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //ArrayList的三种构造函数
            //第一种构造函数
            ArrayList arr1 = new ArrayList();
            Console.WriteLine(arr1);
            arr1.Add(100);
            arr1.Add(200);
            arr1.Add(300);
            foreach(int i in arr1)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            //第二种构造函数
            ArrayList arr2 = new ArrayList(10);
            arr2.Add(10);
            arr2.Add(20);
            arr2.Add(30);
            foreach(int j in arr2)
            {
                Console.Write(j + " ");
            }
            Console.WriteLine();
            //第三种构造方法
            int[] arrtemp = new int[10];
            for(int k= 0; k < arrtemp.Length; k++)
            {
                arrtemp[k] = k + 10; 
            }
            ArrayList arr3 = new ArrayList(arrtemp);
            foreach(int m in arr3)
            {
                Console.Write(m + " ");
            }
            Console.WriteLine();

            //ArrayList的常用属性
            //Capacity -元素个数
            Console.WriteLine("arr2的元素个数为:"+ arr2.Capacity);

            //count -实际包含的元素数
            Console.WriteLine("arr2中实际包含的元素数:" + arr2.Count);

            //IsFixedSize-是否为固定大小
            Console.WriteLine("arr3是固定大小吗? " + arr3.IsFixedSize);
            Console.WriteLine("arr2是固定大小吗? " + arr2.IsFixedSize);
            Console.WriteLine("arr1是固定大小吗? " + arr1.IsFixedSize);

            //IsReadOnly-是否为只读
            Console.WriteLine("arr3是否为只读?" + arr3.IsReadOnly);
            
            //IsSynchronized 指示是否同步对ArrayList的访问
            Console.WriteLine(arr3.IsSynchronized);

            //Item[Int32] 获取或设置指定位置的元素
            Console.WriteLine("arr3索引位置处的元素为{0}:",arr3[2]);
            Console.WriteLine(arr3.SyncRoot.ToString());

            //常用方法
            //public virtual int Add(Object value)
            //Arr3中的原始数据
            Console.WriteLine("arr3中的原始数据: ");
            foreach(int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            //注意Add有返回值
            int IndexNum = arr3.Add(1000);
            Console.WriteLine("在Arr3中的第{0}索引位加入1000.",IndexNum);
            Console.WriteLine("arr3添加后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //public virtual void Insert(int Index, Object value)
            arr3.Insert(10, 20000);//10插入的索引,2000插入的对象
            Console.WriteLine("arr3添加后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //public virtual void InsetRange(int index, 数组名)
            int[] x = new int[] { 111, 222, 333 };
            arr3.InsertRange(11,x);
            Console.WriteLine("arr3添加后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //public virtual void Remove(Object obj)
            //public virtual void RemoveAt(int Index) ;
            //public virtual void RemoveRange(int Index, int count) 
            arr3.Remove(20000);
            Console.WriteLine("arr3删除后,后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            arr3.RemoveAt(0);
            Console.WriteLine("arr3删除后,后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            arr3.RemoveRange(0, 2);
            Console.WriteLine("arr3删除后,后的数据: ");
            foreach (int i in arr3)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //public virtual bool Contains(Object obj)
            Console.WriteLine(arr3.Contains(15));
            Console.WriteLine(arr3.IndexOf(15));
            Console.WriteLine(arr3.LastIndexOf(15));
        }
    }
}

/*
 * System.Collections.ArrayList
100 200 300
10 20 30
10 11 12 13 14 15 16 17 18 19
arr2的元素个数为:10
arr2中实际包含的元素数:3
arr3是固定大小吗? False
arr2是固定大小吗? False
arr1是固定大小吗? False
arr3是否为只读?False
False
arr3索引位置处的元素为12:
System.Object
arr3中的原始数据:
10 11 12 13 14 15 16 17 18 19
在Arr3中的第10索引位加入1000.
arr3添加后的数据:
10 11 12 13 14 15 16 17 18 19 1000
arr3添加后的数据:
10 11 12 13 14 15 16 17 18 19 20000 1000
arr3添加后的数据:
10 11 12 13 14 15 16 17 18 19 20000 111 222 333 1000
arr3删除后,后的数据:
10 11 12 13 14 15 16 17 18 19 111 222 333 1000
arr3删除后,后的数据:
11 12 13 14 15 16 17 18 19 111 222 333 1000
arr3删除后,后的数据:
13 14 15 16 17 18 19 111 222 333 1000
True
2
2
请按任意键继续. . .
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值