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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值