μλ νμΈμ~
νμ¬ μνμ΄ λ°λΉ μ κ°λ§μ κΈμ μμ±νκ² λλ€μ γ γ
μ΄λ²μ String.Create() ν¨μμ λν΄ κΈμ μ μ΄ λ³΄μμ΅λλ€.
μ견 μμΌμλ©΄ 곡μ λΆν λλ¦¬κ² μ΅λλ€.
μλ νμΈμ~
νμ¬ μνμ΄ λ°λΉ μ κ°λ§μ κΈμ μμ±νκ² λλ€μ γ γ
μ΄λ²μ String.Create() ν¨μμ λν΄ κΈμ μ μ΄ λ³΄μμ΅λλ€.
μ견 μμΌμλ©΄ 곡μ λΆν λλ¦¬κ² μ΅λλ€.
κ΄λ ¨ν΄μ μλ°μ΅λμ κΈμ΄ λ μ¬λΌ λ§ν¬ κ±Έμ΄λ΄ λλ€.
System.Span<T>
μ μ΄μ©νμ¬ λ¬Έμμ΄ λ²νΌμ 볡μ¬νκ³
νμ¬ μ»¨ν
μ€νΈ μνκ° μΊ‘μ³λμ§ μλλ‘ μ μ μ΅λͺ
ν¨μλ₯Ό μ¬μ©νλ©΄ λμ± μ’μ μ½λκ° λ κ² κ°μ΅λλ€
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..]);
});
μ μ μ΅λͺ ν¨μλ‘ μΊ‘μ³λ₯Ό λ§μΌλ©΄ λμ± μλλ₯Ό λͺ νν΄ ν΄μ£Όκ² λ€μ. μ’μ μ 보 κ°μ¬ν©λλ€