새소식

프로그래밍 언어/C#

[C#] Span<T>을 이용한 배열 이어붙이기

  • -
internal static class SpanExtension
{
	public static T[] Concat<T>(this ReadOnlySpan<T> span1, ReadOnlySpan<T> span2)
	{
		T[] ret = new T[span1.Length + span2.Length];

		Span<T> span = new(ret);
		span1.CopyTo(span);
		span2.CopyTo(span[span1.Length..]);

		return ret;
	}
}


// Program.cs
ReadOnlySpan<byte> source1 = "Hello, "u8;
ReadOnlySpan<byte> source2 = "World!"u8;

Console.WriteLine(System.Text.Encoding.UTF8.GetString(source1.Concat(source2)));
// output: Hello, World!

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.