C#中通过单例模式以及Dictionary实现键值对的映射,通过key获取value
场景
有时候我们获取的是key,比如获取的是12345这样的数字,要实现对应的value比如是中文的状态的映射。
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
首先新建一个工具类,这里是StepStateHelper,然后设置其单例实现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Badao.Entity.Helper
{public class StepStateHelper{#region 单例实现private static string _lockFlag = "StepStateHelperLock";private static StepStateHelper _instance;private StepStateHelper(){}public static StepStateHelper Instance{get{lock(_lockFlag){if (_instance == null){_instance = new StepStateHelper();}return _instance;}}}#endregion}
}
然后定义一个私有的Dicktionary类型的字段,定义好键值对的映射关系
private Dictionary<short, string> _dicStepStates = new Dictionary<short, string>(){{ 0x04, "霸道" },{ 0x05, "流氓" },{ 0x06, "气质" },};
键值对的内容根据自己的需要去确定
然后再定义一个public的属性用来对上面字段进行获取
public Dictionary<short, string> DicStepStates{get{return _dicStepStates;}}
完整示例代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Badao.Entity.Helper
{public class StepStateHelper{#region 单例实现private static string _lockFlag = "StepStateHelperLock";private static StepStateHelper _instance;private StepStateHelper(){}public static StepStateHelper Instance{get{lock(_lockFlag){if (_instance == null){_instance = new StepStateHelper();}return _instance;}}}#endregion#region 字段定义private Dictionary<short, string> _dicStepStates = new Dictionary<short, string>(){{ 0x04, "霸道" },{ 0x05, "流氓" },{ 0x06, "气质" },};#endregion#region 属性定义public Dictionary<short, string> DicStepStates{get{return _dicStepStates;}}#endregion}
}
然后就可以在代码中通过
string StepState = "";
StepStateHelper.Instance.DicStepStates.TryGetValue((short)obj, out StepState);
去通过key即obj来获取value即StepState
C#中通过单例模式以及Dictionary实现键值对的映射,通过key获取value相关推荐
- C#中使用键值对存取值并使用Linq通过key获取value
场景 有时候需要往数据库中存取数据比如 1,2,3 但是取出来后可能需要对应的中文. 首先新建全局变量类Global,然后声明全局字段来存取键值对. Dictionary<string, str ...
- 在PHP中如何要json中的数据,如何在不知道键值的情况下在php中读取JSON数据
我需要在php中读取firebase JSON URL然后显示它. 我的firebase得到了以下.json数据: {"dDsdE4AlB7P5YYd4fWbYTQKCLPh1": ...
- TypeError: keys must be str, int, float, bool or None, not tuple,解决 python 中 json 保存不了字典键值为 元组 的问题
>>> a = {('0xFFFA', 11): 32, ('0x00F3', 1): 1, ('0xFFFA', 2): 42} {('0xFFFA', 1): 32, ('0x0 ...
- android获取按键键值,android中按键的扫描码和键值
kernel中的按键驱动通过input子系统上报的键值叫做扫描码(ScanCode),对应头文件在 kernel/include/uapi/linux/input.h andorid中的用到的按键才叫 ...
- C#基础 Dictionary KeyValuePair 键值对的遍历并输出
KeyValuePair 和 Dictionary 的关系: 1.KeyValuePair a.KeyValuePair 是一个结构体(struct): b.KeyValuePair ...
- python字典类型实现的键值对的映射_python数据类型-映射和集合-字典
字典是python语言中唯一的映射类型,映射对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系.一个字典对象是可变的,是一个容器类型,可存储任意个数的python对象,其中也可以包 ...
- mybatis返回map键值对_mybatis返回map key怎么指定
展开全部 一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是 ...
- MAP使用containsKey和containsValue方法,验证键值对是否存在此KEY或VAL值。
前言 在项目过程中,可能使用MAP集合返回结果集合,以前我会取指定KEY值,在取他的VALUE值,来获取最后结果.如果KEY值不存在还会取出NULL值.但是今天看到同事使用了containsKey和c ...
- C# 字典键值对排序 属性的key和value排序
public string gethas(Dictionary<string, string> ob){StringBuilder str = new StringBuilder();Di ...
最新文章
- C#中Monitor和Lock以及区别
- 数据中心机房工程建设需要注意的重大问题
- AntV中的饼状图中的花瓣图中的ToolTip怎样修改
- 硬核图解,再填猛将!
- 关于 printk() 对 spi slave 内核驱动程序的性能影响
- 动手实现深度学习pytroch版
- [BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
- 基于jQuery实现垂直轮播效果
- python安装reportlab
- 天轰穿C#教程之数学运算符
- 管家婆服务器怎么找文件夹,请问管家婆数据备份在哪里?如何恢复?
- linux dev/zero,/dev/zero是什么意思
- RK3588 Android12开机log分析
- 怎么把图片无缝拼接在一起?这4个拼图工具,各类形状任你拼
- 拟合系数 / 决定系数 / R方 / R^2的理解
- 立创开源 | 恒温加热台
- windows如何使用bat快速安装计划任务?
- 四面阿里Java高级研发岗,定级P7:数据结构+分布式+JVM+线程
- 最新全国手机号码归属地信息SQLite数据库2019年2月更新 1
- c语言圆周率小数点后500万位,活久见!德科学家整理出圆周率小数点后500万位数字...
热门文章
- 计算机组成原理中lad什么意思,计算机组成原理的大神们能不能帮忙做几道题啊...
- Java进阶:CAS原理详解
- docker环境给elasticsearch安装ik分词
- 磁盘阵列掉电 oracle数据库,掉电导致磁盘坏,非归档下的redo全部丢失,数据库打开的恢复失败...
- 微服务架构方案 springBoot+dubbo
- django弹出对话框_Django实现简单网页弹出警告代码
- android自定义抽奖,Android自定义view制作抽奖转盘
- layui关闭表格编辑_告别复制粘贴,表格再多也能快速合并!
- 安徽省二级c语言笔试样题,安徽省二级C语言程序设计笔试样题1
- html 按钮ajax请求,使用单个提交按钮和Ajax在JSP中提交两个HTML表单