using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace L_Dictionary
{
class Program
{
static void printDict(Dictionary<int, string> dict)
{
if(dict.Count == 0)
{
Console.WriteLine("--没有数据");
return;
}
else
{
Console.WriteLine("--打印数据");
}
foreach (KeyValuePair<int, string> item in dict)
{
Console.WriteLine("Key: " + item.Key + " Value: " + item.Value);
}
}
static void Main(string[] args)
{
Console.WriteLine("Dictionary 的基本使用");
#region 本质
// 拥有Hashtable的泛型
// 以键、值对的方式存储 字典(键不能重复)
#endregion
#region 申明
// 需要引用命名空间
// using System.Collections.Generic;
Dictionary<int, string> dict = new Dictionary<int, string>();
#endregion
#region 增
Console.WriteLine("-----------------------增");
// 键值 不能重复
dict.Add(1, "123");
dict.Add(2, "234");
dict.Add(3, "345");
//dict.Add(3, "345"); // 报错
printDict(dict);
#endregion
#region 删除
Console.WriteLine("-----------------------删除");
// 只能通过键去删除
// 删除不存在的 键, 没有反应。
Console.WriteLine("删除键 --- 1");
dict.Remove(1);
Console.WriteLine("删除键 --- 4");
dict.Remove(4);
printDict(dict);
// 清空
Console.WriteLine("清空 ----");
dict.Clear();
printDict(dict);
dict.Add(1, "123");
dict.Add(2, "234");
dict.Add(3, "345");
#endregion
#region 查询
Console.WriteLine("-----------------------查询");
// 1.通过键找到 对应的值
// 如果键不存在 报错!
Console.WriteLine("查询键2: " + dict[2]);
// Console.WriteLine(dict[4]); // 报错
Console.WriteLine("查询键1: " + dict[1]);
// 2.查询是否存在
// 根据键查询
if (dict.ContainsKey(1))
{
Console.WriteLine("查询 存在键值 1的元素");
}
// 根据值检测
if (dict.ContainsValue("345"))
{
Console.WriteLine("查询 存在\"345 \"值的元素");
}
#endregion
#region 改
Console.WriteLine("-----------------------改");
Console.WriteLine("修改 键=1 元素 值= \"666\" ");
dict[1] = "666";
printDict(dict);
#endregion
#region 遍历
Console.WriteLine("-----------------------遍历");
// 1.遍历所有键
Console.WriteLine("---遍历键");
foreach (int item in dict.Keys)
{
Console.WriteLine(item);
}
// 2.遍历所有值
Console.WriteLine("---遍历所有值");
foreach (string item in dict.Values)
{
Console.WriteLine(item);
}
// 3.遍历所有键值
Console.WriteLine("---遍历所有键值");
foreach (KeyValuePair<int, string> item in dict)
{
Console.WriteLine("Key: " + item.Key + " Value: " + item.Value);
}
#endregion
Console.ReadLine();
}
}
}
C# 泛型字典 Dictionary的使用
最新推荐文章于 2023-06-15 17:15:46 发布