using System;
using System.Collections.Generic;
class Program
{
private static Dictionary<string, string> myDictionary = new Dictionary<string, string>();
//字典索引必须是唯一的,值可以不是
static void Main()
{
// 向静态成员 myDictionary 添加元素
myDictionary.Add("第一个", "奥特曼");
//myDictionary["第2个"] = "value2";
myDictionary.Add("第二个", "怪兽");
// 打印字典的长度(元素数量)
Console.WriteLine("这个字典的长度为 " + myDictionary.Count);
// 打印 key1 对应的值
Console.WriteLine("第一个对应的值为: " + myDictionary["第一个"]);
Console.WriteLine("第二个对应的值为: " + myDictionary["第二个"]);
// 打印 奥特曼 对应的键,需要遍历字典
string valueToFind = "奥特曼";
string keyOfValue = ""; // 初始化为空字符串
foreach (var kvp in myDictionary)
{
if (kvp.Value == valueToFind)
{
keyOfValue = kvp.Key;
break;
}
}
// 打印 奥特曼的索引,在字典中索引实际上就是键
Console.WriteLine("奥特曼对应的键为: " + keyOfValue);
Console.WriteLine("*************************************************************");
//移除第二个
myDictionary.Remove("第二个");
//修改奥特曼为升级版
myDictionary.Add("第三个", "奥特3曼");
myDictionary.Add("第四个", "奥特3曼");
myDictionary["奥特曼"] = "奥特曼升级版";
//移除所有奥特3曼
string valueToFind2 = "奥特3曼";
List<string> keysToRemove = new List<string>();
foreach (var kvp in myDictionary)
{
if (kvp.Value == valueToFind2)
{
keysToRemove.Add(kvp.Key); // 将要删除的键添加到列表中
}
}
// 反向循环列表,以避免在迭代过程中修改集合
for (int i = keysToRemove.Count - 1; i >= 0; i--)
{
myDictionary.Remove(keysToRemove[i]); // 移除键
}
//修改所有的奥特曼8为奥特曼8升级版
myDictionary.Add("第8个", "奥特曼8");
myDictionary.Add("第9个", "奥特曼8");
myDictionary.Add("第10个", "奥特曼8");
myDictionary.Add("第11个", "奥特曼8");
string valueToFind3 = "奥特曼8";
List<string> keysToXiugai = new List<string>();
foreach (var kvp in myDictionary)
{
if (kvp.Value == valueToFind3)
{
keysToXiugai.Add(kvp.Key); // 将要删除的键添加到列表中
}
}
for (int i = keysToXiugai.Count - 1; i >= 0; i--)
{
myDictionary[keysToXiugai[i]] = "奥特曼8升级版";
}
//删库跑路(清除字典)
myDictionary.Clear();
// 打印消息
foreach (var kvp in myDictionary) {
Console.WriteLine(kvp); //kvp.Key//访问键,kvp.Value访问值
}
Console.WriteLine("代码运行很成功");
}
}
C#字典学习笔记
最新推荐文章于 2024-08-16 20:07:09 发布