1

このやや洗練されていないメソッドは、オブジェクトの入力配列を受け取り、文字列の結果を出力します。これは、各要素の ToString() の結果であり、スペースで区切られています。

string Format(object[] args)
{
   var res = string.Empty;
   foreach (var o in args)
   {
      res += o.ToString();
      if (o != args.Last())
         res += " ";
   }
}

確かに、このタイプの操作を行うための C# メソッドがどこかに隠されていますか、そうでない場合は、Linq を使用してより洗練された方法で記述できますか? このメソッドの記述方法に関するもう 1 つの懸念は、文字列を段階的に構築することによるガベージの生成です。

4

3 に答える 3

12
var res = String.Join(" ", args);
于 2013-07-25T20:44:17.027 に答える
1

私が好む集計方法を使用できます。

args.Where(x => x != null).Aggregate((c, n) => c.ToString() + " " + n.ToString());
于 2013-07-25T20:48:10.377 に答える