IT박스

문자열 배열을 문자열로 변환

itboxs 2020. 6. 27. 11:47
반응형

문자열 배열을 문자열로 변환


문자열 배열을 단일 문자열로 변환하고 싶습니다.

string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";

"Hello World!"와 같은 것을 갖고 싶습니다.


string[] test = new string[2];

test[0] = "Hello ";
test[1] = "World!";

string.Join("", test);

위에서 언급 한 방법을 사용하는 것보다 약간 더 빠른 옵션 Join()Concat () 방법입니다. 빈 구분 기호 매개 변수가 Join()필요하지 않습니다. 예:

string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";

string result = String.Concat(test);

따라서 더 빠를 것입니다.


시험:

String.Join("", test);

두 요소를 결합하는 문자열을 반환해야합니다. ""구분 기호없이 문자열을 결합하려는 것을 나타냅니다.


간단한 string.Concat ()이 필요합니다.

string[] test = new string[2];

test[0] = "Hello ";
test[1] = "World!";

string result = string.Concat(test);

구분 기호 (공백, 쉼표 등)도 추가해야하는 경우 string.Join ()을 사용해야합니다.

string[] test = new string[2];

test[0] = "Red";
test[1] = "Blue";

string result = string.Join(",", test);

string.Join ()보다 요소가 많은 문자열 배열 에서이 작업을 수행 해야하는 경우 성능 관점에서 더 좋습니다. ""(공백) 인수를 구분자로 제공하십시오. 성능 향상을 위해 StringBuilder를 사용할 수도 있지만 코드를 조금 더 길게 만들 수 있습니다.


Aggregate 같은 용도로도 사용할 수 있습니다.

string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);

    string ConvertStringArrayToString(string[] array)
    {
        //
        // Concatenate all the elements into a StringBuilder.
        //
        StringBuilder strinbuilder = new StringBuilder();
        foreach (string value in array)
        {
            strinbuilder.Append(value);
            strinbuilder.Append(' ');
        }
        return strinbuilder.ToString();
    }

이 방법으로 프로젝트를 더 빠르게 만들었습니다.

RichTextBox rcbCatalyst = new RichTextBox()
{
    Lines = arrayString
};
string text = rcbCatalyst.Text;
rcbCatalyst.Dispose();

return text;

RichTextBox.Text는 배열을 여러 줄 문자열로 자동 변환합니다!


허용되는 답변에서 String.Join은 사용법마다 모범 사례가 아닙니다. OP가 첫 번째 항목에 후행 공백을 포함 했으므로 String.Concat을 사용해야합니다 (널 구분 기호 대신).

그러나 OP에서 "Hello World!"결과를 요청 했으므로 String.Join이 여전히 적절한 방법이지만 후행 공백은 구분 기호로 이동해야합니다.

// string[] test = new string[2];

// test[0] = "Hello ";
// test[1] = "World!";

string[] test = { "Hello", "World" }; // Alternative array creation syntax 
string result = String.Join(" ", test);

이처럼 :

string str= test[0]+test[1];

루프를 사용할 수도 있습니다.

for(int i=0; i<2; i++)
    str += test[i];

참고URL : https://stackoverflow.com/questions/4841401/convert-string-array-to-string

반응형