C# Language
문자열 연결
수색…
비고
동적 문자열을 만드는 경우 + / 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