zoukankan      html  css  js  c++  java
  • 说说C#中Dictionary的用法

    先看一个实例:

    private Dictionary<string, string> needfirstReplaces = new Dictionary<string, string>()
            {
                    {"one","onemail"},
                    {"two","twomail"}, 
                    {"three","threemail"},
                    {"four","fourmail"}
            };

    protected virtual Dictionary<string, string> firstReplaces
            {
                get
                {

                    Dictionary<string, string> Replaces = new Dictionary<string, string>(){ };
                    return Replaces;
                }
            }

    private DataTable ReplaceCloumnString(DataTable dtFormatedData, List<string> ReplaceColumn)
            {
                Dictionary<string, string> newfirstReplaces = new Dictionary<string, string>();
                newfirstReplaces = needfirstReplaces;
                foreach (KeyValuePair<string, string> newitem in firstReplaces)
                {
                    if (!newfirstReplaces.ContainsKey(newitem.Key))
                    {
                        newfirstReplaces.Add(newitem.Key, newitem.Value);
                    }
                }
                DataTable dtFormatedDataCopy = dtFormatedData.Clone();
                foreach (DataRow dr in dtFormatedData.Rows)
                {
                    foreach (KeyValuePair<string, string> item in newfirstReplaces)
                    {
                        foreach (string needColumn in ReplaceColumn)
                        {
                            if (dr[needColumn].ToString().Contains(item.Key))
                            {
                                string ContentStr = dr[needColumn].ToString();
                                dr[needColumn] = ReplaceStr(ContentStr, item.Key, item.Value);
                            }
                        }
                    }
                    DataRow drNewRow = dtFormatedDataCopy.NewRow();
                    drNewRow.ItemArray = dr.ItemArray;
                    dtFormatedDataCopy.Rows.Add(drNewRow);
                }
                return dtFormatedDataCopy;
            }

    Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组, 他的结构是这样的:Dictionary<[key], [value]> ,

    他的特点是存入对象是需要与[key]值一一对应的存入该泛型, 通过某一个一定的[key]去找到对应的值,[key] 不能重复,它的单个数组是KeyValuePair<key, value>,[value]可以是string,int 和一个类等等.

    也可以用linq来操作如:

    var result = from pair in newfirstReplaces orderby pair.Key select pair;

  • 相关阅读:
    linux下查找文件及查找包含指定内容的文件常用命令
    小程序与h5之前切换频繁时候,点击无反应
    vue项目微信分享之后路由链接被破坏问题
    async-await用法
    小程序input组件获得焦点时placeholder内容有重影
    es6语法在ios低版本的支持性
    h5页面避免两个页面反复跳转死循环
    小程序getLocation出现的各种问题汇总
    小程序组件跳转页面存在兼容问题
    nigix反向代理
  • 原文地址:https://www.cnblogs.com/springyangwc/p/1964065.html
Copyright © 2011-2022 走看看