浏览C#中带有params的字典
本文关键字:params 字典 浏览 | 更新日期: 2023-09-27 18:28:15
我创建了一个方法,该方法接收未指定数量的字典参数,并扫描所有参数的内容,但不包括相同的参数,它会在第一个或第二个foreach中出错,具体取决于我修复的内容。康塞贡多没有解决这个问题。我怎么能把这件作品做成仿制品呢。
我拿到了params字典,我想浏览一下每本字典的内容。
我遵循的代码如下:
public String getQuerySelectInner(String TABELA, params Dictionary<String, String> dictionaries)
{
String sql = "SELECT ";
foreach (Object dictionary in dictionaries)
{
foreach (var word in dictionary)
{
sql += word.Key + ",";
}
}
sql = sql.Remove(sql.Length - 1);
sql += " from " + TABELA + " WHERE situacao = 'ATIVO' ";
return sql;
}
您的代码甚至不会编译。您是使用记事本还是实际的IDE进行编码?
无论如何,如果您为params添加括号,并将外部foreach更改为var,而不是强制转换为它编译的Object。这有助于给你想要的吗?
public String getQuerySelectInner(String TABELA, params Dictionary<String, String>[] dictionaries)
{
String sql = "SELECT ";
foreach (var dictionary in dictionaries)
{
foreach (var word in dictionary)
{
sql += word.Key + ",";
}
}
sql = sql.Remove(sql.Length - 1);
sql += " from " + TABELA + " WHERE situacao = 'ATIVO' ";
return sql;
}
为了进一步改进,您可以使用string.join而不是内部循环:sql += string.Join(",", dictionary.Keys);
,这意味着您不需要删除后面多余的逗号。