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;

  • 相关阅读:
    json数组解析
    sparkschedule任务类
    elasticsearch的操作类
    删除hbase的region步骤和代码
    zookeeper持有者类
    zookeeper主节点竞争类
    剑指offer(61-66)编程题
    Codeforces Round #190 (Div. 2) B. Ciel and Flowers
    一些傍晚的感想
    Codeforces Round #307 (Div. 2) D. GukiZ and Binary Operations
  • 原文地址:https://www.cnblogs.com/springyangwc/p/1964065.html
Copyright © 2011-2022 走看看