수색…


비고

동적 문자열을 만드는 경우 + / Concat 메서드를 사용하여 문자열을 조인하는 대신 StringBuilder 클래스를 선택하는 것이 좋습니다. Concat 은 실행될 때마다 새 문자열 개체를 만듭니다.

+ 연산자

string s1 = "string1";
string s2 = "string2";

string s3 = s1 + s2; // "string1string2"

System.Text.StringBuilder를 사용하여 문자열 연결

StringBuilder 를 사용하여 문자열을 연결하면 + 사용하여 간단한 문자열 연결보다 성능 이점을 얻을 수 있습니다. 이는 메모리가 할당되는 방식 때문입니다. 문자열은 각 연결과 함께 다시 할당되며 StringBuilders는 현재 블록이 모두 소모되었을 때만 재 할당 할 수 있도록 메모리를 블록에 할당합니다. 이것은 작은 연결을 많이 할 때 큰 차이를 만들 수 있습니다.

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
    sb.Append(i);
    sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "

Append() 호출은 데이 터 체인으로 연결될 수 있습니다.이 호출은 StringBuilder 대한 참조를 반환하기 때문입니다.

StringBuilder sb = new StringBuilder();
sb.Append("some string ")
  .Append("another string");

String.Join을 사용하여 Concat 문자열 배열 요소

String.Join 메서드는 문자열 배열의 여러 요소를 연결하는 데 사용할 수 있습니다.

string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";

string result = String.Join(separator, value, 1, 2);
Console.WriteLine(result);

다음 출력을 생성합니다 : "orange, grape"

이 예제에서는 구분 기호 및 값의 맨 위에 시작 인덱스 및 개수를 지정하는 String.Join(String, String[], Int32, Int32) 오버로드를 사용합니다.

startIndex 및 count 오버로드를 사용하지 않으려면 주어진 모든 문자열을 조인 할 수 있습니다. 이렇게 :

string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value);
Console.WriteLine(result);

생산할 것이다;

사과, 오렌지, 포도, 배

$를 사용하여 두 문자열 연결

$는 여러 문자열을 연결하기위한 쉽고 간결한 방법을 제공합니다.

var str1 = "text1";
var str2 = " ";
var str3 = "text3";
string result2 = $"{str1}{str2}{str3}"; //"text1 text3"


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow