Si vous ne voulez pas mettre UrlEncode(...)
autour de chaque argument ou définir une fonction d'assistance, la seule façon est de rendre explicite tableau créé implicitement et appliquer la méthode à chaque élément:
var args = new[] { var1, var2, var3 };
Array.ConvertAll(args, UrlEncode);
var result = string Format("{0}, {1}, {2}", args);
ou
var args = new[] { var1, var2, var3 };
var result = string Format("{0}, {1}, {2}", args.Select(UrlEncode).ToArray());
ou, si tout ce que vous voulez faire est de mettre des virgules entre les éléments:
var result = string.Join(", ", new[] { var1, var2, var3 }.Select(UrlEncode));
En utilisant une fonction d'assistance:
var result = string.Format("{0}, {1}, {2}", UrlEncodeAll(var1, var2, var3));
ou
var result = string.Join(", ", UrlEncodeAll(var1, var2, var3));
où
string[] UrlEncodeAll(params string[] args)
{
Array.ConvertAll(args, UrlEncode);
return args;
}
Si ce n'est pas un tableau qui est-il? –