string.Format("{0}, {1}, {2}", var1, var2, var3)
Run Code Online (Sandbox Code Playgroud)
我想对var1,var2和var3中的每一个应用URL编码.它不是一个数组,所以我不能使用Linq Aggregate来完成它.
有任何想法吗?
我不想在每个变量周围加上括号.
如果您不想放置UrlEncode(...)
每个参数或定义辅助函数,唯一的方法是使隐式创建的数组显式化并将方法应用于每个元素:
var args = new[] { var1, var2, var3 };
Array.ConvertAll(args, UrlEncode);
var result = string Format("{0}, {1}, {2}", args);
Run Code Online (Sandbox Code Playgroud)
要么
var args = new[] { var1, var2, var3 };
var result = string Format("{0}, {1}, {2}", args.Select(UrlEncode).ToArray());
Run Code Online (Sandbox Code Playgroud)
或者,如果你想要做的就是在元素之间加上逗号:
var result = string.Join(", ", new[] { var1, var2, var3 }.Select(UrlEncode));
Run Code Online (Sandbox Code Playgroud)
使用辅助函数:
var result = string.Format("{0}, {1}, {2}", UrlEncodeAll(var1, var2, var3));
Run Code Online (Sandbox Code Playgroud)
要么
var result = string.Join(", ", UrlEncodeAll(var1, var2, var3));
Run Code Online (Sandbox Code Playgroud)
哪里
string[] UrlEncodeAll(params string[] args)
{
Array.ConvertAll(args, UrlEncode);
return args;
}
Run Code Online (Sandbox Code Playgroud)