键值对集合(跟js中的对象类似)对象

创建 :

Hashtable 及使用 Add方法 向 Hashtable 添加键值对

namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
Hashtable obj = new Hashtable();
obj.Add("name", "lxc");
obj.Add("age", 20);
obj.Add(1, "test");
obj.Add(true, "test1");
}
}
}

 键值对,可以是任何类型的参数。

c# - Hashtable_赋值

 

 向Hashtable添加键值对方式:

Add()方法  或  等号赋值方式

// 使用Add()方法添加键值对时,键不可以重复,如果重复添加,会报错!
obj.Add("name", "lxc");
// 使用下边方式添加键值对,键可以重复,重复的键会被最后添加的覆盖掉
obj["age"] = 20;
obj["name"] = "xc";

// 最后 age -> 20; name -> "xc"

 

如何查看hashtable中的键值:

使用foreach循环

// 遍历数据集合键值对
// item是集合中的额每一项,
// 如果此时打印item,会输出 System.Collections.DictionaryEntry
// 这个是item对象所在的命名空间会被打印出来,但对于我们来说毫无用处
foreach(var item in HashtableValue)
{}
// 遍历数据集合中的键
// item是集合中的每一个键,此时可以用HashtableValue[item] 来获取每一个值
foreach(var item in HashtableValue.keys)
{}

c# - Hashtable_数据集_02

namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
Hashtable obj = new Hashtable();
obj.Add("name", "lxc");
obj.Add("age", 20);
obj.Add(1, "test");
obj.Add(true, "test1");
// var 可以根据值来推断出值的类型
// item: 每一项;obj:要循环的集合
foreach (var item in obj.Keys)
{
getResult(item[item]);
}
Console.ReadLine();
}
public static void getResult(object param)
{
Console.WriteLine(param);
}
}
}

 输出:

c# - Hashtable_键值对_03

 

数据集合Hashtable常用的方法:

(1)obj.Contains(object key) / obj.ContainsKey(object key)

上边两个用法一样,判断集合中是否包含某个键;

 

(2)obj.ContainsValue(object value)

判断集合中,是否包含某个值;

 

(3)obj.Clear()

删除集合中的所有元素;

 

(4)obj.Remove(object key)

根据键来移除集合中的某一项;

 

注意:

(1)在键值对结合中,键必须是惟一的, 但是值是可以重复的。

c# - Hashtable_赋值_04