[.NET / C#] String.Create<TState>()

안녕하세요~

회사 생활이 바빠서 간만에 글을 작성하게 되네요 ㅎㅎ

이번엔 String.Create() 함수에 대해 글을 적어 보았습니다.

의견 있으시면 공유 부탁 드리겠습니다.

11개의 좋아요

관련해서 에반최님의 글이 떠올라 링크 걸어봅니다.

5개의 좋아요

System.Span<T> 을 이용하여 문자열 버퍼에 복사하고
현재 컨텍스트 상태가 캡쳐되지 않도록 정적 익명 함수를 사용하면 더욱 좋은 코드가 될것 같습니다 :slight_smile:

string str1 = "Hello";
string str2 = "World";

int length = str1.Length + str2.Length;

// 1. String 할당과 함께 str1, str2 복사
var result = string.Create(length, (str1, str2), static (buffer, args) =>
{
    var (str1, str2) = args;
    str1.AsSpan().CopyTo(buffer);
    str2.AsSpan().CopyTo(buffer[str1.Length..]);
});
5개의 좋아요

정적 익명 함수로 캡쳐를 막으면 더욱 의도를 명확해 해주겠네요. 좋은 정보 감사합니다 :slight_smile:

3개의 좋아요