C#数组集合方法和属性

数据批处理对象:System.Collection

数组(Array):

一维简单数组

非静态方法

​ GetLowerBound:获取索引下限

GetUpperBound:获取索引上限

GetValue:获取该索引上对应的值

SetValue:设置该索引上的值

属性:

IsFixedSize:判断该数组的大小是否固定

Length:数组长度

Rank:判断数组是几维数组

静态方法

Clear:清除指定的数组中的某些内容,替换成其类型的默认值(数字类型默认值为0,bool类型默认值为False,引用类型默认值为Null)

ConstrainedCopy:复制原数组中的某些元素到新数组中,但要确定新数组的空间足够

CreateInstance:传建一个指定类型及长度的数组

​ Array list3=Array.CreateInstance(TypeCode.Int32.GetType(),5);

​ for(int i=0;i<list3.Length;i++)
​ {
​ Console.Write(list3.GetValue(i));
​ }

Reverse:反转指定数组中的元素

​ Sort:对指定数组中的元素进行排序

二维数组

多维数组

交错数组

集合:

动态数组类(ArrayList)非静态类

静态类不可以实例化
​ 非静态类可以实例化

非静态方法:

Add:向数组中添加一个元素,并返回索引

AddRange:向动态数组总添加一个数组

​ Clear:清除指定数组中

CopyTo:将当前操作的动态数组的元素复制到一个数组中

GetRange:从当前操作动态数组中获取指定索引和指定个数的元素
​ R

emove:移除集合中指定的元素

RemoveAt:移除集合中的指定索引的元素

RemoveRange:移除集合中指定的范围的元素

​ Reverse:反转集合中的元素的顺序

ToArray:将当前操作的动态数组转换成数组

​ TrimToSize:将动态数组的大小设置成实际元素数目大小

属性:

​ Capacity:设置动态数组可包含的元素数(可包含:指定了一个范围)

Count:获取动态数组包含的元素个数(包含:数组中设置的)

泛型(Generic)

List<T> myArray = new List<T>();

泛型集合常用方法
Add():给集合的最后面添加一个元素
AddRange():给集合的最后面再添加一组元素
Clear():从集合中移除所有元素
Contains():确定某元素是否在集合中
Insert():在指定位置插入一个元素
Remove():从集合中移除指定的元素
RemoveAt():从集合中移除指定索引的元素
RemoveRange():从集合中移除指定范围的元素
Reverse():将整个集合中的元素反转
Sort():按照特定的规则对集合中的元素进行排序

哈希表类

它使用键来访问集合中的元素。
当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目

			//哈希表
            Hashtable hs = new Hashtable();
            //添加key/value键值对   
            //键值对:
            //键:关键,相当于整个数据表中的唯一标识符,要求必须不能重复
            //值:当对于这个件而言记录的值
            //对:成对出现
            hs.Add("E", "e");
            hs.Add("B", "b");
            hs.Add("A", "a");
            //Count:获取包含在哈希表中键值对的数目
            int count = hs.Count;
            Console.WriteLine(count);
            //清空
            hs.Clear();
            //判断哈希表是否包含特定键,其返回值为true或false 
            if (hs.Contains("E"))
            {
               hs.Remove("E");
            }
            //遍历哈希表
            foreach (DictionaryEntry a in hs)
            {
               Console.Write(a.Key);
               Console.Write(a.Value);
            }
            //对哈希表进行排序
            ArrayList list = new ArrayList(hs.Keys);
            list.Sort();
            foreach (string s in list)
            {
               Console.Write(hs[s]);
            }

排序列表类

堆栈

队列

它代表了一个先进先出的对象集合。
当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队

			Queue<string> strList = new Queue<string>();
            /向队列加入元素
            // strList.Enqueue("元素1");
            // strList.Enqueue("元素2");
            // strList.Enqueue("元素3");
            /遍历元素
            // foreach (string item in strList)
            // {
                // Console.WriteLine(item);
            // }
            /队长长度
            // Console.Write("队列长度---");
            // Console.WriteLine(strList.Count);
            //取出最先加进去的元素,并删除,充分体现队列的先进先出的特性
            /如队列中无元素,则会引发异常
            // string mes1 = strList.Dequeue();
            // Console.WriteLine(mes1);

            /取出最先入队的元素,但并不删除
            string mes = strList.Peek();
            Console.Write("取出但不移除队头的元素----");
            Console.WriteLine(mes);
            ///遍历队列,仍为三个元素
            Console.WriteLine("队列剩余元素为---");
            foreach (string  item in strList)
            {
               Console.WriteLine(item);
            }

            ///直接获得队列中的某个元素,
            ///如果索引越界,会引发异常
            Console.Write("获取队列中的第2个元素----");
            string s = strList.ElementAt(2);
            Console.WriteLine(s);
            ///直接获得队列中的某个元素,
            ///如果索引越界,则会返回null,但不引发异常
            Console.Write("获取队列中的第5个元素-----");
            Console.WriteLine(strList.ElementAtOrDefault(5));
            Console.Write("获取队列中的第1个元素-----");
            Console.WriteLine(strList.ElementAtOrDefault(1));

            ///取出最先入队的元素,但并不删除
            string pop = strList.Dequeue();
            Console.Write("取出队头的元素----");
            Console.WriteLine(mes);
            ///遍历队列,为2个元素
            Console.WriteLine("队列剩余元素为---");
            foreach (string  item in strList)
            {
               Console.WriteLine(item);
            }
            // Console.ReadLine();

字典

			//字典集合
            Dictionary<string, string> myDic = new Dictionary<string, string>();
            myDic.Add("aaa", "111");
            myDic.Add("bbb", "222");
            myDic.Add("ccc", "333");
            myDic.Add("ddd", "444");
            //ContainsKey:判断是否包含指定的键
            bool bo = myDic.ContainsKey("aaa");
            Console.WriteLine(bo);
            string value = "";
            myDic.TryGetValue("aaa", out value);
            Console.WriteLine(value);
            //下面用foreach 来遍历键值对 
            //泛型结构体用来存储健值对 
            //foreach (KeyValuePair<string, string> kvp in myDic)
            //{
            //    Console.WriteLine("key={0},value={1}", kvp.Key, kvp.Value);
            //}
            foreach (KeyValuePair<string, string> KV in myDic)
            {
                Console.WriteLine("key={0},value={1}", KV.Key, KV.Value);
            }
            //获取键的集合方法1
            Dictionary<string, string>.KeyCollection keys = myDic.Keys;
            foreach (string k in keys)
            {
                Console.WriteLine(k);
            }
            //获取键的集合方法2
            foreach (string k in myDic.Keys)
            {
                Console.WriteLine("key={0}", k);
            }
            //获取值得集合方法1
            foreach (string s in myDic.Values)
            {
                Console.WriteLine("value={0}", s);
            }
            //获取值得集合方法2
            Dictionary<string, string>.ValueCollection values = myDic.Values;
            foreach (string v in values)
            {
                Console.WriteLine(v);
            }

点阵列

  • 3
    点赞
  • 15
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

Survivor_lll

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值