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과 성능이 유사합니다.
위 내용은 LINQ는 어떻게 문자열 연결 효율성을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!