C#基础入门 九

2021-02-14 08:15

阅读:654

标签:处理   集合   add   需要   img   inf   try   两种   声明   

C#基础入门 九

集合

  • 对于很多应用程序,需要创建和管理相关对象组,有两种方式可以将对象分组,一是创建对象数组,如
object[] obj=new object[3]{1,2.33,"string"};
foreach(object o in obj)
{
    Console.WriteLine(o.Tostring());
    //output:1 2.33 string
}
  • 但是这样实现有一个缺点,数组的初始化必须要固定数量,即数组的长度一定是常量。所以需要集合。
  • 创建和管理相关对象组的第二种方式就是创建对象集合。集合提供一种灵活的处理方式,与数组不同,处理的对象组可根据程序更改的需要动态的增长和收缩,对于某些集合,您可以为放入该集合的任何对象分配一个“键”,以便使用该键快速检索对象。
  • 集合是类,因此必须声明新集合后,才能向该集合中添加元素。
  • 集合分为两种类型:非泛型集合和泛型集合
    • 使用非泛型集合需要引入:System.Collections命名空间
    • 使用泛型集合需要引入:System.Collections.Generic命名空间
  • System.Collections命名空间下的集合类
    技术分享图片

  • System.Collections.Generic命名空间下的集合类(图15)
    技术分享图片

Dictionary

  • Dictionary
  • Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) ,键必须是唯一的,而值不需要唯一的 ,键和值都可以是任何类型(比如:string, int, 自定义类型,等等) ;通过一个键读取一个值的时间是接近O(1) ,键值对之间的偏序可以不定义。
  • Dictionary类成员介绍:(图16)
    技术分享图片

  • Dictionary具体用法

public static void Main(string[] args)
        {
            Dictionary dic = new Dictionary();
            dic.Add("zxh",21);
            Dictionary dic1 = new Dictionary();
            dic1.Add("张三", "李四");
            int n;
            bool b=dic.TryGetValue("zxh", out n);
            Console.WriteLine(n);
            // bool b1 = dic.Remove("zxh");
            // Console.WriteLine(b1);
            //遍历key
            foreach (string key in dic.Keys)
            {
                Console.WriteLine("Key = {0}", key);
            }
            //遍历value
            foreach (int value in dic.Values)
            {
                Console.WriteLine("value = {0}", value);
            }
            //遍历字典
            foreach (KeyValuePair kvp in dic)
            {
                Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
            }
        }
  • 运行如下图所示(图17)
    技术分享图片

C#基础入门 九

标签:处理   集合   add   需要   img   inf   try   两种   声明   

原文地址:https://www.cnblogs.com/senlinmilelu/p/8450203.html


评论


亲,登录后才可以留言!