LINQ を使用した効率的な文字列の連結
文字列を連結する従来のアプローチには、指定されたコード スニペットに示すように、StringBuilder とループの使用が含まれます。 。この方法は効果的ですが、大規模なデータセットの場合は冗長で非効率になる可能性があります。 LINQ は、このタスクに対して、より簡潔で潜在的に高速なソリューションを提供します。
LINQ の Aggregate メソッドを使用すると、次のように文字列を連結できます。
string[] words = { "one", "two", "three" }; var res = words.Aggregate( "", // Start with an empty string for the empty list case (current, next) => current + ", " + next); Console.WriteLine(res);
この式は、各要素を結合して新しい文字列を作成します。カンマとスペースを含む単語の配列。他のほとんどの LINQ 操作での遅延実行とは異なり、集計クエリはすぐに実行されます。
このアプローチの別のバリエーションでは、メモリ効率を高めるために Aggregate メソッド内で StringBuilder を使用します。
var res = words.Aggregate( new StringBuilder(), (current, next) => current.Append(current.Length == 0? "" : ", ").Append(next)) .ToString();
このバリアントでは、次のような機能が提供されます。 String.Join と同様のパフォーマンス。文字列を効率的に連結するためのもう 1 つのオプションです。
以上がLINQ はどのようにして文字列の連結効率を向上させることができるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。