键值对集合(跟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");
}
}
}
键值对,可以是任何类型的参数。
向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)
{}
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);
}
}
}
输出:
数据集合Hashtable常用的方法:
(1)obj.Contains(object key) / obj.ContainsKey(object key)
上边两个用法一样,判断集合中是否包含某个键;
(2)obj.ContainsValue(object value)
判断集合中,是否包含某个值;
(3)obj.Clear()
删除集合中的所有元素;
(4)obj.Remove(object key)
根据键来移除集合中的某一项;
注意:
(1)在键值对结合中,键必须是惟一的, 但是值是可以重复的。