Просмотр словарей с параметрами в C #

Я создал метод, который получает неопределенное количество параметров словарей и сканирует содержимое всех из них, но тот же не рассматривается, он выдает ошибку в первом или втором foreach, в зависимости от того, что я исправляю. Consegundo не могу решить эту проблему. Как я мог сделать эту работу притворной.

Я получаю словарь параметров и хочу просмотреть содержимое каждого.

Код, который я следую ниже:

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

1 ответ

Ваш код даже не компилируется. Вы кодируете с помощью блокнота или реальной IDE?

В любом случае, если вы добавите скобки для своих параметров и измените внешний foreach на переменную, а не приведете к объекту, он компилируется. Это помогает дать вам то, что вы хотите?

    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); Это означает, что вам не нужно удалять лишнюю запятую после.

Другие вопросы по тегам