C# 三十八、Dictionary

Dictionary<TKey, TValue>

  •  表示键和值的集合。
  • TKey:字典中的键的类型。
  • TValue:字典中的值的类型。

定义

几种基本的语法格式:

一:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例为空,具有默认的初始容量并为键类型使用默认的相等比较器。

   Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>();

二:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例为空,具有指定的初始容量并为键类型使用默认的相等比较器。

  Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>(可包含的初始元素数);

三:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例包含从指定的 System.Collections.Generic.IDictionary`复制的元素并为键类型使用默认的相等比较器。

  Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>(复制元素到新字典的源字典);

Dictionary<TKey, TValue> 类的一些常用的属性

 public int Count { get; }

官方摘要:获取包含在 System.Collections.Generic.Dictionary`2 中的键/值对的数目。

返回结果:包含在 System.Collections.Generic.Dictionary`2 中的键/值对的数目。

简单理解:获取实际的元素数目。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

Console.WriteLine(dic.Count);

--->
0

Dictionary<TKey, TValue> 类的一些常用的方法

public void Add(TKey key, TValue value);

官方摘要:将指定的键和值添加到字典中。

参数说明:

  • key:要添加的元素的键。
  • value:要添加的元素的值。

简单理解:添加元素。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

foreach (var item in dic)
{
    Console.WriteLine(item);
}

--->
[1, aa]
[2, bb]
[3, cc]

public void Clear();

 官方摘要:将所有键和值从 System.Collections.Generic.Dictionary`2 中移除。

简单理解:移除所有元素。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

dic.Clear();

dic.Add(4,"dd");

foreach (var item in dic)
{
    Console.WriteLine(item);
}

--->
[4, dd]

public bool ContainsKey(TKey key);

官方摘要:确定是否 System.Collections.Generic.Dictionary`2 包含指定键。

参数说明:

  • key:要在 System.Collections.Generic.Dictionary`2 中定位的键。

返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定键的元素,则为true;否则为 false。

简单理解:判断是否包含指定的键。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

Console.WriteLine(dic.ContainsKey(1));

--->
True

 public bool ContainsValue(TValue value);

官方摘要:确定 System.Collections.Generic.Dictionary`2 是否包含特定值。

参数说明:

  • value:要在 System.Collections.Generic.Dictionary`2 中定位的值。 对于引用类型,该值可以为 null。

返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定值的元素,则为true;否则为 false。

简单理解:判断是否包含指定的值。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

Console.WriteLine(dic.ContainsValue("dd"));

--->
False

public bool Remove(TKey key);

官方摘要:将带有指定键的值从 System.Collections.Generic.Dictionary`2 中移除。

参数说明:

  • key:要移除的元素的键。

返回结果:如果成功找到并移除该元素,则为 true;否则为 false。 如果在 System.Collections.Generic.Dictionary`2 中没有找到 key,则此方法返回 false。

简单理解:移除带有指定键的值。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

Console.WriteLine(dic.Remove(2));

foreach (var item in dic)
{
    Console.WriteLine(item);
}

--->
True
[1, aa]
[3, cc]

public bool TryGetValue(TKey key, out TValue value);

官方摘要:获取与指定键关联的值。

参数说明:

  • key:要获取的值的键。
  • value:当此方法返回时,如果找到指定键,则包含与该键相关的值;否则包含 value 参数类型的默认值。 此参数未经初始化即被传递。

返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定键的元素,则为true ;否则为 false。

简单理解:获取指定键的值。

代码示例:

Dictionary<int, string> dic = new Dictionary<int, string>();

dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");

string s;

Console.WriteLine(dic.TryGetValue(3,out s));

Console.WriteLine(s);

--->
True
cc

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值