Я думаю, что это хороший метод, если он всегда знает, какие параметры у вас есть, если он неизвестен в то время, когда вы всегда можете сохранить List >, ключом которого будет имя, а значением будет значение, затем создайте строку запроса, используя цикл foreach, такой как
StringBuilder sb = new StringBuilder();
foreach(KeyValuePair<string,string> q in theList)
{
// build the query string here.
sb.Append(string.format("{0}={1}&", q.Key, q.Value);
}
примечание: код не проверен и не скомпилирован, поэтому он может работать не так, как есть.