C#基础入门 九

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<string, int> dic = new Dictionary<string, int>();
            dic.Add("zxh",21);
            Dictionary<string, string> dic1 = new Dictionary<string, string>();
            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<string, int> kvp in dic)
            {
                Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
            }
        }
  • 运行如下图所示(图17)

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

时间: 2024-08-30 10:12:24

C#基础入门 九的相关文章

[WebGL入门]九,顶点缓存的基础

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 局部坐标 使用WebGL可以绘制各种各样的3D模型,而且,还可以绘制点和线,决定绘制什么肯定需要顶点.没有顶点的话,也就没有多边形了,因为没有办法进行点和线的绘制了.所以,WebGL的编程中一定要处理顶点情报.而且,顶点中有必须要包含的情报,那就是顶点的位置坐标.既然顶点的位置坐标是必须的,那

Android基础入门教程——1.6 .9(九妹)图片怎么玩

Android基础入门教程--1.6 .9(九妹)图片怎么玩 标签(空格分隔): Android基础入门教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png这样的图片 2. .9图片能干嘛? 答: 在图片拉伸的时候特定的区域不会发生图片失真,而不失真的区域可以由我们自己绘制 3. .9图片用什么做? 答:工欲善其事,必先利其器,做.9图片的工具有: ①Android SDK自带:draw9patch.bat,不过这玩意出了好久,谷歌

2015年最新Android基础入门教程目录(完结版)

2015年最新Android基础入门教程目录(完结版) 标签(空格分隔): Android基础入门教程 前言: 关于<2015年最新Android基础入门教程目录>终于在今天落下了帷幕,全套教程 共148节已编写完毕,附上目录,关于教程的由来,笔者的情况和自学心得,资源分享 以及一些疑问等可戳:<2015最新Android基础入门教程>完结散花~ 下面是本系列教程的完整目录: 第一章:环境搭建与开发相关(已完结 10/10) Android基础入门教程--1.1 背景相关与系统架构

Android基础入门教程——8.1.1 Android中的13种Drawable小结 Part 1

Android基础入门教程--8.1.1 Android中的13种Drawable小结 Part 1 标签(空格分隔): Android基础入门教程 本节引言: 从本节开始我们来学习Android中绘图与动画中的一些基础知识,为我们进阶部分的自定义 打下基础!而第一节我们来扣下Android中的Drawable!Android中给我们提供了多达13种的 Drawable,本节我们就来一个个撸一遍! Drawable资源使用注意事项 Drawable分为两种: 一种是我们普通的图片资源,在Andr

SpringMVC基础入门

一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet>     <servlet-name>

2015年最新Android基础入门教程目录(临时版)

2015年最新Android基础入门教程目录(临时版) 标签(空格分隔): Android基础入门教程 前言: 嗯,昨晚又给人盗号了,博客上被发表了十几篇黄贴-然后目录给管理误删了,再发一次 后来协商后发现实被设密保问题了,建议各位用csdn的朋友密保自己设置一波~ 密保问题已修改回来了,应该不会再被盗号了-人怕出名猪怕壮哈~下次如果发现博客被封 告知下小猪,如何很急的话可以先到w3c鸟巢菜鸟教程上看Android基础入门教程 经过站长FK进行排版的,可能阅读体验会比csdn好很多!内容基本是同

SpringMVC基础入门,创建一个HelloWorld程序

ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the ma

Linux基础入门学习笔记20135227黄晓妍

学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 4. 熟练应用“搜索”进行举一反三的学习 二.学习资源 1. 课程资料:https://www.shiyanlou.com/courses/413   实验一,课程邀请码:W7FQKW4Y 2. Li

干货分享:MySQL零基础入门视频教程!

首先给大家介绍一下数据库工程师,数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计.测试到部署交付的全生命周期管理.数据库工程师的核心目标是保证数据库管理系统的稳定性.安全性.完整性和高性能. 今天在这里给大家分享一个干货教程,MySQL零基础入门视频教程,希望能帮助到大家! 课程目录: 一. MySQL课程介绍和MySQL的基础概念(1)二. MySQL基础概念之存储引擎(2