.NET(C#) 数组、ArrayList和List<T>的使用

1、数组

数组在内存上连续分配的,而且数组中元素类型是一样的可以下标访问,数据读取快但增删慢,长度不变。

例如,

Console.WriteLine("***************Array******************");
int[] intArray = new int[3];
intArray[0] = 2020;
string[] strArray = new string[] { "C/C++", "C#", "Java","Python" };//Array
for( int i=0;i<strArray.Length;i++)
{
  Console.WriteLine(strArray[i]);
}
foreach(var item in strArray)
{
  Console.WriteLine("item = "+item);
}

 

2、ArrayList

ArrayList是不定长的,内存上是连续分配的,其中元素没有类型限制,任何元素都是当成object处理,如果是值类型,会有装箱操作。数据读取快但增删慢。

例如,

Console.WriteLine("***************ArrayList******************");
ArrayList arrayList = new ArrayList();
arrayList.Add("cjavapy");
arrayList.Add("c#");
arrayList.Add("c/++");
arrayList.Add("java");
arrayList.Add("python");
arrayList.Add(2022);//add增加长度
//arrayList[4] = 26;//修改数据,不会增加长度
//删除数据
//arrayList.RemoveAt(4);
var value = arrayList[2];
arrayList.RemoveAt(0);
arrayList.Remove("c#");
for( int i=0;i<arrayList.Count;i++)
{
  Console.WriteLine(arrayList[i]);
}
foreach(var item in arrayList)
{
  Console.WriteLine("item = "+item);
}

 

3、List<T>

List<T>也是Array,内存上都是连续摆放不定长;泛型使用保证类型安全,可以避免装箱拆箱,数据读取快但增删慢。

例如, 

Console.WriteLine("***************List<T>******************");
List<int> intList = new List<int>() { 1, 2, 3, 4 };
intList.Add(2022);
intList.Add(1314);
//intList.Add("22");
//intList[0] = 11;
List<string> stringList = new List<string>();
//stringList[0] = "c#";//不能这样新增
for( int i=0;i<intList.Count;i++)
{
  Console.WriteLine(intList[i]);
}
foreach (var item in intList)
{
  Console.WriteLine("item = "+item);
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忧郁的蛋~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值