StringBuilder.GetChunks 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 StringBuilder 인스턴스에서 만든 ReadOnlyMemory<Char>
표시된 문자 청크를 반복하는 데 사용할 수 있는 개체를 반환합니다.
public:
System::Text::StringBuilder::ChunkEnumerator GetChunks();
public System.Text.StringBuilder.ChunkEnumerator GetChunks ();
member this.GetChunks : unit -> System.Text.StringBuilder.ChunkEnumerator
Public Function GetChunks () As StringBuilder.ChunkEnumerator
반환
ReadOnlyMemory<Char>
청크의 열거자입니다.
설명
다음과 같은 코드를 사용하여 메모리 범위의 청크를 반복할 수 있습니다.
foreach (ReadOnlyMemory<char> chunk in sb.GetChunks())
foreach(char ch in chunk.Span)
{ /* operations on ch */ }
이 메서드의 목적은 상수StringBuilder데이터를 효율적으로 추출하는 것입니다. 청크 열거형이 불완전한 동안 StringBuilder 수정되면 결과가 정의되지 않습니다. StringBuilder 스레드로부터 안전하지 않으므로 동시 스레드를 사용하여 작동하는 것은 불법입니다.
반환된 ReadOnlyMemory<T> 청크는 StringBuilder 수정된 경우 변경되지 않도록 보장되지 않으므로 나중에 사용할 수 있도록 캐시하지 마세요.
ReadOnlyMemory<T>.Span 메서드가 이전 예제에서와 같이 ReadOnlyMemory<T>ReadOnlySpan<T> 만드는 것은 비용이 많이 들기 때문에 중첩된 for
문에서 사용해야 하는 경우 범위에 대한 지역 변수를 만듭니다. 예를 들어:
foreach (ReadOnlyMemory<char> chunk in sb.GetChunks())
{
var span = chunk.Span;
for(int i = 0; i < span.Length; i++)
{
/* operations on span[i] */
}
}
적용 대상
.NET