场景

有时候我们获取的是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相关推荐

  1. C#中使用键值对存取值并使用Linq通过key获取value

    场景 有时候需要往数据库中存取数据比如 1,2,3 但是取出来后可能需要对应的中文. 首先新建全局变量类Global,然后声明全局字段来存取键值对. Dictionary<string, str ...

  2. 在PHP中如何要json中的数据,如何在不知道键值的情况下在php中读取JSON数据

    我需要在php中读取firebase JSON URL然后显示它. 我的firebase得到了以下.json数据: {"dDsdE4AlB7P5YYd4fWbYTQKCLPh1": ...

  3. 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 ...

  4. android获取按键键值,android中按键的扫描码和键值

    kernel中的按键驱动通过input子系统上报的键值叫做扫描码(ScanCode),对应头文件在 kernel/include/uapi/linux/input.h andorid中的用到的按键才叫 ...

  5. C#基础 Dictionary KeyValuePair 键值对的遍历并输出

    KeyValuePair 和 Dictionary 的关系: 1.KeyValuePair      a.KeyValuePair 是一个结构体(struct):     b.KeyValuePair ...

  6. python字典类型实现的键值对的映射_python数据类型-映射和集合-字典

    字典是python语言中唯一的映射类型,映射对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系.一个字典对象是可变的,是一个容器类型,可存储任意个数的python对象,其中也可以包 ...

  7. mybatis返回map键值对_mybatis返回map key怎么指定

    展开全部 一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是 ...

  8. MAP使用containsKey和containsValue方法,验证键值对是否存在此KEY或VAL值。

    前言 在项目过程中,可能使用MAP集合返回结果集合,以前我会取指定KEY值,在取他的VALUE值,来获取最后结果.如果KEY值不存在还会取出NULL值.但是今天看到同事使用了containsKey和c ...

  9. C# 字典键值对排序 属性的key和value排序

    public string gethas(Dictionary<string, string> ob){StringBuilder str = new StringBuilder();Di ...

最新文章

  1. C#中Monitor和Lock以及区别
  2. 数据中心机房工程建设需要注意的重大问题
  3. AntV中的饼状图中的花瓣图中的ToolTip怎样修改
  4. 硬核图解,再填猛将!
  5. 关于 printk() 对 spi slave 内核驱动程序的性能影响
  6. 动手实现深度学习pytroch版
  7. [BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
  8. 基于jQuery实现垂直轮播效果
  9. python安装reportlab
  10. 天轰穿C#教程之数学运算符
  11. 管家婆服务器怎么找文件夹,请问管家婆数据备份在哪里?如何恢复?
  12. linux dev/zero,/dev/zero是什么意思
  13. RK3588 Android12开机log分析
  14. 怎么把图片无缝拼接在一起?这4个拼图工具,各类形状任你拼
  15. 拟合系数 / 决定系数 / R方 / R^2的理解
  16. 立创开源 | 恒温加热台
  17. windows如何使用bat快速安装计划任务?
  18. 四面阿里Java高级研发岗,定级P7:数据结构+分布式+JVM+线程
  19. 最新全国手机号码归属地信息SQLite数据库2019年2月更新 1
  20. c语言圆周率小数点后500万位,活久见!德科学家整理出圆周率小数点后500万位数字...

热门文章

  1. 计算机组成原理中lad什么意思,计算机组成原理的大神们能不能帮忙做几道题啊...
  2. Java进阶:CAS原理详解
  3. docker环境给elasticsearch安装ik分词
  4. 磁盘阵列掉电 oracle数据库,掉电导致磁盘坏,非归档下的redo全部丢失,数据库打开的恢复失败...
  5. 微服务架构方案 springBoot+dubbo
  6. django弹出对话框_Django实现简单网页弹出警告代码
  7. android自定义抽奖,Android自定义view制作抽奖转盘
  8. layui关闭表格编辑_告别复制粘贴,表格再多也能快速合并!
  9. 安徽省二级c语言笔试样题,安徽省二级C语言程序设计笔试样题1
  10. html 按钮ajax请求,使用单个提交按钮和Ajax在JSP中提交两个HTML表单