C# Dictionary<>和HashTable中遍历Keys怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Dictionary<>和HashTable中遍历Keys怎么写?相关的知识,希望对你有一定的参考价值。
比如说建立了一个类Student包含字段name,age,hobby
用name作为Keys
Dictionary<string, Student> stu = new Dictionary<string, Student>();
stu.Add(s1.Name,s1);
stu.Add(s2.Name,s2);
stu.Add(s3.Name,s3);
添加好了数据 遍历Value可以写
foreach (Student ss in stu.Values)
Student ass = (Student)ssss;
MessageBox.Show(ass.Name.ToString());
那么遍历Keys都时候具体怎么写?
foreach (Student ss in stu.Keys)
//Student ass = (Student)ssss;//这句话没用还是错误的
MessageBox.Show(ss.Name.ToString()); //ass改成ss
那么遍历Keys都时候具体怎么写?
//foreach (Student ss in stu.Keys)//这句话是错误的KEYS是string
foreach (string key in stu.Keys) //这样遍历
MessageBox.Show(key);
本回答被提问者采纳
C#字典 Dictionary 的使用
Dictionary提供快速的基于键值的元素查找。
结构是:Dictionary <[key] , [value] >,当你有很多元素的时候可以用它。
它包含在System.Collections.Generic名控件中。在使用前,你必须声明它的键类型和值类型。
1.字典的初始化
//初始化字典值 //方式1 Dictionary<int, string> dict = new Dictionary<int, string> { { 1, "Mohan" }, { 2, "Kishor" }, { 3, "Pankaj" }, { 4, "Jeetu" } }; //方式2 var dict = new Dictionary<string, int> { ["one"] = 1, ["two"] = 2, ["three"] = 3 };
2.字典的使用示例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Demo1 { class Program { static void Main(string[] args) { //创建泛型哈希表,Key类型为int,Value类型为string Dictionary<int, string> myDictionary = new Dictionary<int, string>(); //1.添加元素 myDictionary.Add(1, "a"); myDictionary.Add(2, "b"); myDictionary.Add(3, "c"); //2.删除元素 myDictionary.Remove(3); //3.假如不存在元素则添加元素 if (!myDictionary.ContainsKey(4)) { myDictionary.Add(4, "d"); } //4.显示容量和元素个数 Console.WriteLine("元素个数:{0}",myDictionary.Count); //5.通过key查找元素 if (myDictionary.ContainsKey(1)) { Console.WriteLine("key:{0},value:{1}","1", myDictionary[1]); Console.WriteLine(myDictionary[1]); } //6.通过KeyValuePair遍历元素 foreach (KeyValuePair<int,string>kvp in myDictionary) { Console.WriteLine("key={0},value={1}", kvp.Key, kvp.Value); } //7.得到哈希表键的集合 Dictionary<int, string>.KeyCollection keyCol = myDictionary.Keys; //遍历键的集合 foreach (int n in keyCol) { Console.WriteLine("key={0}", n); } //8.得到哈希表值的集合 Dictionary<int, string>.ValueCollection valCol = myDictionary.Values; //遍历值的集合 foreach( string s in valCol) { Console.WriteLine("value:{0}",s); } //9.使用TryGetValue方法获取指定键对应的值 string slove = string.Empty; if (myDictionary.TryGetValue(5, out slove)) { Console.WriteLine("查找结果:{0}", slove); } else { Console.WriteLine("查找失败"); } //10.清空哈希表 //myDictionary.Clear(); Console.ReadKey(); } } }
运行结果:
以上是关于C# Dictionary<>和HashTable中遍历Keys怎么写?的主要内容,如果未能解决你的问题,请参考以下文章
C# 将 List<string> 转换为 Dictionary<string, string>
在 C# 中是不是有像 Dictionary<> 这样的类,但只有键,没有值?