HashTable 被称为键值对集合,类似于字典,根据key可以找到value

键值对对象[键]=值;
键值对集合当中,键必须是唯一的,而值是可以重复的

1.  HashTable的用法

            //创建了一个键值对集合对象
Hashtable ht = new Hashtable();
ht.Add(, "张三");
ht.Add(, true);
ht.Add(, '男');
ht.Add(false, "错误的");
ht.Add(, "张三");
ht[] = "新来的";//这也是一种添加数据的方式
ht[] = "把张三干掉";
ht.Add("abc", "cba"); //abc----cba
if (!ht.ContainsKey("abc"))
{
//ht.Add("abc", "哈哈哈");
ht["abc"] = "哈哈哈";
}
else
{
Console.WriteLine("已经包含abc这个键!!!");
} // ht.Clear(); //移除集合中所有的元素
ht.Remove(); foreach (var item in ht.Keys)
{
Console.WriteLine("键是-----{0}==============值是{1}", item, ht[item]);
}
//在键值对集合中 是根据键去找值的
//Console.WriteLine(ht[1]);
//Console.WriteLine(ht[2]);
//Console.WriteLine(ht[3]);
//Console.WriteLine(ht[false]);
//Console.WriteLine("==================================");
//for (int i = 0; i < ht.Count; i++)
//{
// Console.WriteLine(ht[i]);
//}

2.  foreach循环

  当循环次数巨大的时候,foreach循环的效率远远高于for循环。

  foreach( var item in collection ) { 循环体}

   item : 集合中的每一项元素

   collection :需要遍历的集合

   var : 可以根据值,自动地推断出类型

            var n = ;
var n2 = "张三";
var n3 = 3.14;
var n4 = 5000m;
var n5 = true;
var n6 = '男';
Console.WriteLine(n.GetType());
Console.WriteLine(n2.GetType());
Console.WriteLine(n3.GetType());
Console.WriteLine(n4.GetType());
Console.WriteLine(n5.GetType());
Console.WriteLine(n6.GetType());
Console.ReadKey();

  输出:

 

  既然var可以通吃以上的类型,为何在C#中它却不受欢迎?

   因为在使用var这个关键字来定义变量的时候,必须在声明变量的时候为变量赋值,否则编译器将报错。

   有时候,我们需要这样做。  string str;  str = "1230";

这就是var做不到的地方。

3. 强类型语言 和 弱类型语言

  c#是一门强类型语言:在代码当中,必须对每一个变量的类型有一个明确的定义

  其他强类型语言: java、C++等

弱类型语言:lua、vb、javaScript等

C#中的集合类——HashTable的更多相关文章

  1. (转)C#中各种集合类比较

    数组(Array)的不足(即:集合与数组的区别) 1. 数组是固定大小的,不能伸缩.虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是 ...

  2. c#中常用集合类和集合接口之集合类系列【转】

    常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaoji ...

  3. JUC集合之 JUC中的集合类

    Java集合包 在"Java 集合系列01之 总体框架"中,介绍java集合的架构.主体内容包括Collection集合和Map类:而Collection集合又可以划分为List( ...

  4. C#中各种集合类比较

    数组(Array)的不足(即:集合与数组的区别) 1. 数组是固定大小的,不能伸缩.虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是 ...

  5. java中的集合类总结

    在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现,我在使用和面试的时候频 频遇到这样的“抉择” . :)(主要还是面试的时候) 久而久 ...

  6. [转帖]C#中字典集合HashTable、Dictionary、ConcurrentDictionary三者区别

    C#中字典集合HashTable.Dictionary.ConcurrentDictionary三者区别 https://blog.csdn.net/yinghuolsx/article/detail ...

  7. ConcurrentHashMap和 CopyOnWriteArrayList提供线程安全性和可伸缩性 以及 同步的集合类 Hashtable 和 Vector Collections.synchronizedMap 和 Collections.synchronizedList 区别缺点

    ConcurrentHashMap和 CopyOnWriteArrayList提供线程安全性和可伸缩性 DougLea的 util.concurrent 包除了包含许多其他有用的并发构造块之外,还包含 ...

  8. Objective-C中的集合类

    下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Obj ...

  9. java中vector与hashtable操作详解

    众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题 ...

随机推荐

  1. 高速决心linux上oracle安装垃圾问题

    问题:在linux安装oracle时间.因为oracle用户local LANG安装问题,原因安装oracle软件.该接口是非常多的安装位置是乱码. 解决方案:在oracle用户运行:export L ...

  2. linux下的watch命令

    linux下的watch命令 在linux下,watch是周期性的执行下一个命令,并全屏显示执行结果. watch [-dhvt] [-n <seconds>] [--difference ...

  3. MVC5模板部署到mono

    VS2013中的MVC5模板部署到mono上的艰辛历程 2014-10-27 09:30 by FuzhePan, 3954 阅读, 46 评论, 收藏, 编辑 部署环境:CentOS7 + Mono ...

  4. leetcode第六题--ZigZag Conversion

    Problem: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of r ...

  5. Your build host version of Xamarin.IOS (release NO.)is too recent to work with the IOS designer

    Encounted such error in VS after I update the xamarin at Mac side.Here is the solution for u to refe ...

  6. Progit Update Check Page

    ######### ######### #########

  7. Repository在DDD中的应用

    Repository在DDD中的应用2014-10-09 08:55 by Jesse Liu, 98 阅读, 0 评论, 收藏, 编辑 概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值 ...

  8. D8

    =-=昨天被老师拉去吃点心了就没有发题解...忧伤..昨天的T2貌似都没有调完嗯 今天脑洞是大啊.. T1模拟写挂..呵呵我一面 T2数学题..刚开始只会求素数表的那种方法暴力..不过后面他们都知道一 ...

  9. [转] Building xnu for OS X 10.10 Yosemite

    Source:http://shantonu.blogspot.jp/2014/10/building-xnu-for-os-x-1010-yosemite.html The OS X kernel ...

  10. 企业架构研究总结(26)——TOGAF架构开发方法(ADM)之实施治理阶段

    1.9 实施治理(Implementation Governance) 企业架构开发方法各阶段——实施治理 1.9.1 目标 本阶段的目标是: 为每个实施计划给予建议. 对涵盖整个实施和部署过程的架构 ...