这个相当不优雅的方法采用对象的输入数组并输出字符串结果,这是每个元素的ToString()结果,空格分隔。
string Format(object[] args)
{
var res = string.Empty;
foreach (var o in args)
{
res += o.ToString();
if (o != args.Last())
res += " ";
}
}
当然有一个C#方法隐藏在某处进行这种类型的操作,或者如果不是,使用Linq写一个更优雅的方法?关于我如何编写此方法的另一个问题是通过逐步构建字符串来生成垃圾。
答案 0 :(得分:12)
var res = String.Join(" ", args);
答案 1 :(得分:3)
var res = String.Join(" ", args.Select(x=> x != null ? x.ToString() : ""));
将每个项目的字符串表示连接在一起。
答案 2 :(得分:1)
您可以使用我更喜欢的聚合方法。
args.Where(x => x != null).Aggregate((c, n) => c.ToString() + " " + n.ToString());