先看一个实例:
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;