C# Dictionary的用法 KeyValuePair<TKey, TValue> 结构
来源:互联网 发布:java 类对象降序 编辑:程序博客网 时间:2024/05/21 17:28
泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含了一些基于泛型的集合类,使用泛型集合类可以提供更高的类型安全性,还有更高的性能,避免了非泛型集合的重复的装箱和拆箱。
简介
在C#中,Dictionary提供快速的基于兼职的元素查找。当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间中。
在使用前,你必须声明它的键类型和值类型
详细说明
必须包含名空间System.Collection.Generic
Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
键必须是唯一的,而值不需要唯一的
键和值都可以是任何类型(比如:string, int, 自定义类型,等等)
通过一个键读取一个值的时间是接近O(1)
创建和初始化一个Dictionary对象
Dictionary<char,int> dic=new Dictionary<char,int>()
//计算字符串中每种字符出现的次数(面试题)。“Welcome to Chinaworld”,不区分大小写,打印“W2”“e 2”“o 3”……
列子
static void Main(string[] args)
{
//实例化对象,声明它的键类型和值类型。结构:Dictionary<[key], [value]>
//他的特点是存入对象是需要与[key]值一一对应的存入该泛型 通过某一个一定的[key]去找到对应的值
Dictionary<char,int> dic=new Dictionary<char,int>();
string str = "Welcome to C h i naworld";
//先去掉字符串中的空格,然后转换为小写
str = str.Replace(" ","").ToLower();
//把字符串转化为字符数组
char[] arr = str.ToCharArray();
//从字符数组中遍历每个字符,然后记录到Dictionary<char,int>中
foreach(char c in arr)
{//如果你尝试读取字典中一个不存在的键,那么你会得到一个KeyNotFoundException。
所有在读取一个键之前,你必须先使用ContainKey来核对键是否存在字典中。
//判断Dictionary<char,int> 是否包含相应的key键(:就是字符例如'K')
if (!dic.ContainsKey(c))
{
//如果不存在就添加键并给他一个(value)值1
dic.Add(c, 1);
}
else
{ // 如果存在相应的key键(:例如已经有了“k”字符),就对它对应的(value)值+1
dic[c] = dic[c] + 1;
}
}
//使用KeyValuePair记录枚举字典中的键/值,ke.Key, ke.Value获取键对应的值
foreach(KeyValuePair<char,int> ke in dic)
{
Console.WriteLine("{0}出现{1}次\n",ke.Key,ke.Value);
}
//////
KeyValuePair<TKey, TValue>
foreach (KeyValuePair<string, string> kvp in openWith){ outputBlock.Text += String.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value) + "\n";}
- C# Dictionary的用法 KeyValuePair<TKey, TValue> 结构
- C# KeyValuePair<TKey,TValue>的用法【转】
- C# Dictionary<TKey, TValue>的学习
- KeyValuePair<TKey, TValue>泛型用法
- c# 泛型集合Dictionary<TKey,TValue>
- C#中Dictionary<TKey,TValue>排序方式
- KeyValuePair<TKey, TValue>是DictionaryEntry的泛型版本
- Dictionary<TKey, TValue> 的foreach便利方法
- C#中Dictionary<TKey,TValue>和C++std::map<TK,TV>的对比
- c# 泛型集合Dictionary<TKey,TValue>
- C#泛型集合—Dictionary<TKey,TValue>使用方法
- C#高级编程五十三天----字典Dictionary<TKey,TValue>
- C#中Dictionary<Tkey,Tvalue>泛型集合漫谈
- Dictionary<TKey, TValue>集合类
- C# SortedDictionary<TKey,TValue>排序 用法 Sort()用法
- C# SortedDictionary<TKey,TValue>排序 用法 Sort()用法
- C# - IOrderedDictionary<TKey, TValue> Implementation
- C# - OrderedDictionary<TKey, TValue> Implementation
- perl 基本语法介绍
- android ndk 给结构体赋值的方法
- 字符串循环右移
- IP地址的三种表示格式简析
- Android中dip, dp, px, sp的区别
- C# Dictionary的用法 KeyValuePair<TKey, TValue> 结构
- 黑马程序员_java字符串
- C++知识点复习
- Struts2如何调用Action的方法
- 事件循环与线程 二
- boost::any实现分析
- gcc 关于math.h编译链接
- Android Connectivity分析(1)- ConnectivityManager
- linux中开机启动时,根据不同的登录ip来决定执行不同的操作