如何将字典变量传递给另一个过程
问题描述:
我正在开发一个C#VS2008/SQL Server网站应用程序。我从来没有使用过Dictionary类,但我试图用Dictionary变量替换我的Hashtable。如何将字典变量传递给另一个过程
这里是我的aspx.cs代码的一部分:
...
Dictionary<string, string> openWith = new Dictionary<string, string>();
for (int col = 0; col < headers.Length; col++)
{
@temp = (col + 1);
@tempS = @temp.ToString();
@tempT = "@col" + @temp.ToString();
...
openWith.Add(@tempT, headers[col]);
}
...
for (int r = 0; r < myInputFile.Rows.Count; r++)
{ resultLabel.Text = ADONET_methods.AppendDataCT(myInputFile, openWith); }
但是,这是给我的最后一行编译器错误: 参数“2”:无法从“System.Collections.Generic转换。Dictionary'to'string'
如何将整个openWith变量传递给AppendDataCT? AppendDataCT是调用我的SQL存储过程的方法。我想传入整行,其中每行都有一组我想要添加到数据库表中的唯一值。例如,如果每行都需要单元格A,B和C的值,那么我想将这3个值传递给AppendDataCT,其中所有这些值都是字符串。我如何用Dictionary来做到这一点?
答
这个问题不是你的字典,也不是你如何通过它。问题是你的方法AppendDataCT
,它期待一个string
参数,而不是一个dictionary<string,string>
假设这,你可能想要的东西还挺喜欢这个....
foreach(KeyValuePair<string,string> item in openWith)
{
resultLabel.Text = ADONET_methods.AppendDataCT(myInputFile, item.Value);
}
这会遍历你的字典,并对于每对[key,value] ,使用该对中的值调用AppendDataCT方法。
从字典中提取并作为字符串传递 – 2010-06-07 05:02:50