C# 集合类自己经常用到: 数组(Array)、动态数组(ArrayList)、列表(List)、哈希表(Hashtable)、字典(Dictionary),对于经常使用的这些数据结构,做一个总结,便于以后备忘使用。

1 所在命名空间

using System.Collections.Generic;

using System.Collections;

2 字典(Dictionary)

字典也是键值对的集合,更像是Hashtable类的泛型版本,通过泛型的方式支持不同类型的键值对。Dictionary<Tkey,TValue>

2.1 初始化

//创建不同副本,根据需要使用不同的构造函数,zd10-01

Dictionary<int, string> dict1 = new Dictionary<int, string>();
//
Dictionary<int, string> dict2 = new Dictionary<int, string>(10);

2.2 遍历方法

private void NavigateKeys(Dictionary<int,string>dt)
{
foreach (object key in dt.Keys)
{
MessageBox.Show(key.ToString() + "kkk");
}
}
private void NavigateValues(Dictionary<int,string>dt)
{
foreach (object value in dt.Values)
{
MessageBox.Show(value.ToString() + "vvv");
}
}
private void NavigateEntrys(Dictionary<int,string>dt)
{
foreach (KeyValuePair<int,string>entry in dt)
{
MessageBox.Show(entry.Key.ToString()+entry.Value.ToString() + "eee");
}
}

2.3增查改删

//zd10-01

常用属性

count,Keys(键的集合,不允许重复),Values 值的集合

方法

增:

Add

//例

dict1.Add(1, "st1");

dict1.Add(2, "str1");

dict1.Add(3, "str2");

dict1.Add("KeysObject","ValuesObject");

//遍历

NavigateKeys(dict1);

删:

Remove,Clear

//删除键值为1的元素

dict1.Remove(1);//

dict1.Remove(11);//不存在,异常

dict1.Clear();

搜索:

Contains,ContainsKey,ContainsValue

bool bok =dict1.Contains(1);

bool bok = dict1.ContainsKey(1);

bool bok = dict1.ContainsValue("str");

其他 CopyTo

C# 集合类(四)的更多相关文章

  1. LeetCode第151场周赛(Java)

    这是我第一次写周赛的题目,而且还是虚拟的.从这次起,以后就将所有错过的题目都写到博客来.当然既然是我错的,那代码肯定不是我自己的.我会注明来源.并且我会自己敲一遍.多总结总是没坏处的. 另外比较糟糕的 ...

  2. java集合类(四)About Set

    接上篇:java集合类(三)About Iterator & Vector(Stack) 之前,在比较java常见集合类的时候,就了解到一点有关Set的特性.实现类及其要求等,读者可以去温习下 ...

  3. 第四小节之Java 集合类

    Java的集合类就像一个容器,专门用来存储Java类的对象.这些类可以存储任意类型的对象,并且长度可变,统称为集合,这些类位于java.util包中,数组也可以保存多个对象,但在某些情况下无法确定到底 ...

  4. Java集合类总结 (四)

    PriorityQueue类 优先队列不管你按照什么顺序插入元素,出队列的时候元素都是按顺序输出的.也就是每次调用remove的时候,都返回当前队列中最小的元素.然后队列中的元素不是维持排序状态的,如 ...

  5. 集合类源码(四)Collection之BlockingQueue(ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue)

    ArrayBlockingQueue 功能 全名 public class ArrayBlockingQueue<E> extends AbstractQueue<E> imp ...

  6. C# List集合类常用操作:四、删除

    Clear() 从 List<T> 中移除所有元素. List<Employees> employees = new List<Employees>(); empl ...

  7. C# - 集合类

    C#的集合类命名空间介绍: // 程序集 mscorlib.dll System.dll System.Core.dll // 命名空间 using System.Collections:集合的接口和 ...

  8. 做JavaWeb开发不知Java集合类不如归家种地

    Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...

  9. Java基础知识笔记(八:集合类)

    目录 1  集合类简介  2  List介绍及简单使用 2.1  LinkedList介绍及简单使用 2.2  ArrayList介绍及简单使用 2.3  Vector介绍及简单使用 2.3.1  S ...

随机推荐

  1. Jmeter之『多变量循环』

    假设存在两个参数a,b,需要在一个循环内,同时遍历a_1,a_2,a_3,b_1,b_2,b_3 添加一个循环控制器,循环次数为变量的大小 添加一个计数器,引用名称为index(用于拼接变量名称) 同 ...

  2. DX12龙书 01 - 向量在几何学和数学中的表示以及运算定义

    0x00 向量 向量 ( vector ) 是一种兼具大小 ( magnitude ) 和方向的量. 0x01 几何表示 几何方法中用一条有向线段来表示一个向量,其中,线段长度代表向量的模,箭头的指向 ...

  3. linxu 命令

    top | grep java 统计 java 进程使用的资源比率 nohub java -jar test.war & 后台运行 test.war 程序,标准输出到 test.war 程序目 ...

  4. Dubbo的负载均衡策略&容错策略

    dubbo的负载均衡策略 RandomLoadBalance 随机调用负载均衡 默认方式该类实现了抽象的AbstractLoadBalance接口,重写了doSelect方法,看方法的细节就是首先遍历 ...

  5. AntDesign初体验

    AntDesign初体验 作为一个java开发也需要掌握一定的前端开发技能,毕竟靠人不如靠自己.再者,有时候一些小的改动自己就可以搞定了,就不用低三下四去求别人了: 安装Nodejs $ npm in ...

  6. 实验五 css进阶应用

    实验五 css进阶应用 实验目的: 掌握CSS在列表中的应用,能利用CSS将列表做成精美的导航栏: 掌握CSS在表单元素中的应用: 掌握SPRY菜单的制作方法和CSS代码修改. 实验内容: 1. 制作 ...

  7. 多测师讲解接口测试 _理论基础知识001_高级讲师肖sir

    前言: 我们今天进入接口测试的学习! 今天学习的内容是偏向理论 接口理论 了解接口测试(1) 一.什么是接口测试? 接口统称api,即程序与程序之间的对接.交接.交互.是测试系统组件间接口的一种测试. ...

  8. day51 Pyhton 前端02

    内容回顾: 1.h1~h6:加粗,数字越大级别越小,自动换行 2.br:换行;hr:分割线; (特殊符号,空格) 3.p:与前边和后边内容之间有间距 4.a标签的href:本地文件连接;网络连接;锚链 ...

  9. HCIA——应用层常用协议

    DNS协议 1.什么是DNS协议呢? DNS协议简单来说就是为IP取一个别名的系统(叫域名如www.baidu.com),最终目的是便于我们记忆. 一个域名可能有多个IP,同样一个IP可能也会有多个域 ...

  10. 非科班8k,靠这套知识体系收入暴涨100%!

    我是18年毕业,非科班,毕业即进入互联网行业.坐标深圳,java程序员,当时到手薪资8k左右. bat等大厂月薪薪资动辄20k,25k,还不包括"签字费",福利和奖金.当然,薪资也 ...