C# 集合

这篇博客探讨了C#中的集合,包括ArrayList的元素操作,Hashtable的键值对特性,以及Dictionary的泛型存储与遍历。文章详细阐述了C#中强类型语言的特性,对比了Hashtable和Dictionary在存储、类型以及顺序方面的差异,并提及了线程安全性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合:很多数据的一个集合

数组长度不可变、类型单一

集合的好处:长度可以任意改变、类型随便

我们将一个对象输出到控制台,默认打印对象所在类的命名空间

ArrayList

添加元素

            ArrayList list = new ArrayList();
            //添加单个元素
            list.Add(123);
            list.Add("aaa");
            list.Add(false);
            //添加集合元素
            list.AddRange(new int[] { 2, 3, 4, 5, 6 });
            list.AddRange(list);

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

删除元素

	list.Clear();         //清空所有元素
	list.Remove(true);    //删除单个元素,写谁就删谁
	list.RemoveAt(0);     //根据下标删除元素
    list.RemoveRange(0,3);//根据下标删除一定范围元素



	list.Sort();    //升序排列
	list.Reverse(); //反转
    list.Insert(1,"插入元素");
	list.InsertRange(0,new string[]{"zhangsan","lisi"});
	list.Contains("包含元素");//返回布尔类型

Hashtable:键值对

C# 是一门强类型语言

var:能够根据值来推断类型

JS 是一门弱类型语言

            //输出顺序为什么是倒序的
            Hashtable hashtable = new Hashtable();
            hashtable.Add(1,"name");
            hashtable.Add(2,3);
            hashtable.Add(3,false);
            hashtable.Add("oneKey", "bool");
            foreach (var item in hashtable.Keys)
            {
                Console.WriteLine(hashtable[item]);
            }
创建泛型集合对象
List<int> list =new List<int>();  //类型固定
list.Add(123);
list.AddRange(new int[]{1,2,3,4,5});
list.AddRange(list);

//List泛型集合可以转换为数组
List<int> list =new List<int>();  
int[] nums = list.ToArray();

List<string> listStr =new List<string>();
string[] str =ListStr.ToArray();

//转集合 ToList();
装箱和拆箱
int n = 10;
object o=n; //装箱
int nn = (int)o;//拆箱

  //比较,避免装箱和拆箱
  List<int> list =new List<int>();  
  ArrayList list = new ArrayList();

dictionary

键值对成对遍历

在这里插入图片描述

C#下Hashtable和Dictionary之间的差别

  1. Dictionary是泛型存储,Hashtable使用object

  2. Dictionary<K,V>在使用中是顺序存储的,而Hashtable由于使用的是哈希算法进行数据存储,是无序的
    onary之间的差别

  1. Dictionary是泛型存储,Hashtable使用object

  2. Dictionary<K,V>在使用中是顺序存储的,而Hashtable由于使用的是哈希算法进行数据存储,是无序的

  3. 线程上区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值