/*
* 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
请按任意键继续. . .
*/
C#基础知识6:ArrayList
最新推荐文章于 2023-04-18 18:24:16 发布