• 说说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;

  • 相关阅读:
    hdu2138(求素数)
    hdu2104
    poj1664(放苹果)
    数塔问题给你有哪些启示?
    汉诺塔问题(1)
    算法的力量(转李开复)
    最长子序列问题之系列一
    forward和redirect的区别
    group by 和having
    java中的多态三要素是什么?
  • 原文地址:https://www.cnblogs.com/springyangwc/p/1964065.html
Copyright © 2020-2023  润新知