【发布时间】:2019-03-29 05:43:44
【问题描述】:
下面是key 被硬编码到Dictionary 中的代码
var datalist = new List<IDictionary<string, string>>();
for (var i = 0; i < dt.Rows.Count; ++i)
{
var data = new Dictionary<string, string>()
{
{ "ID", Convert.ToString(dt.Rows[i]["ID"]) },
{ "STATUS", Convert.ToString(dt.Rows[i]["Name"]) },
{ "TYPE", Convert.ToString(dt.Rows[i]["TYPE"]) }
};
datalist.Add(data);
}
现在,我不想硬编码ID、STATUS 等键,而是想从包含以下值的字符串数组中添加它
string[] arrNames = ConfigurationManager.AppSettings["NameKey"].Split(',');
如何遍历arrNames在字典中添加键,然后添加List?
【问题讨论】:
-
我不确定我是否理解这个问题。看来您需要使用 ToList() 和 ToDictionary() 方法:geekswithblogs.net/BlackRabbitCoder/archive/2010/10/21/… 如果我不理解您,请告诉我。
-
似乎嵌套循环在您的未来。提示:
Dictionary<string, string>作为Add(string key, string value)方法。 -
这取决于
arrNames的元素的外观。你可以做ToDictionary() -
你的字典键与DataTable的列不匹配,你怎么知道哪一列对应哪个字典键?使用索引还是....?
-
假设您有一个名为
key的字符串变量。然后你可以使用data.Add(key, Convert.ToString(dt.Rows[i][key]));这有帮助吗?您可以将该代码放在一个循环中 - 您不会像现在这样使用集合初始化程序。
标签: c# .net list dictionary