ReadOnlySpan<T> 구조체

정의

임의 메모리의 연속된 영역에 대한 형식 안전 및 메모리로부터 안전한 읽기 전용 표현을 제공합니다.

generic <typename T>
public value class ReadOnlySpan
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
public readonly ref struct ReadOnlySpan<T>
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

형식 매개 변수

T

에 있는 항목의 형식입니다 ReadOnlySpan<T>.

상속
ReadOnlySpan<T>
특성

설명

ReadOnlySpan<T> 는 스택에 할당되고 관리되는 힙으로 이스케이프할 수 없는 ref 구조체 입니다. Ref 구조체 형식에는 boxed, 람다 식에서 캡처, 형식 Object변수에 할당, 변수에 할당 dynamic 및 인터페이스 형식을 구현할 수 없음을 포함하여 관리되는 힙으로 승격할 수 없도록 하는 여러 가지 제한 사항이 있습니다.

ReadOnlySpan<T> 인스턴스는 배열의 요소 또는 배열의 일부를 참조하는 데 자주 사용됩니다. 그러나 배열과 달리 인스턴스는 ReadOnlySpan<T> 스택에서 관리되는 메모리, 네이티브 메모리 또는 메모리를 가리킬 수 있습니다.

생성자

Name Description
ReadOnlySpan<T>(T)

지정된 참조 주위에 길이 1을 새로 ReadOnlySpan<T> 만듭니다.

ReadOnlySpan<T>(T[], Int32, Int32)

지정된 인덱스에서 시작하는 배열의 지정된 개수의 요소를 포함하는 새 ReadOnlySpan<T> 요소를 만듭니다.

ReadOnlySpan<T>(T[])

지정된 배열 전체에 대해 새 ReadOnlySpan<T> 배열을 만듭니다.

ReadOnlySpan<T>(Void*, Int32)

지정된 메모리 주소에서 시작하는 지정된 수의 ReadOnlySpan<T> 요소에서 새 T 요소를 만듭니다.

속성

Name Description
Empty

ReadOnlySpan<T>.

IsEmpty

현재 읽기 전용 범위가 비어 있음을 나타내는 값을 반환합니다.

Item[Int32]

지정된 0부터 시작하는 인덱스에서 읽기 전용 범위에서 항목을 가져옵니다.

Length

읽기 전용 범위의 항목 수입니다.

메서드

Name Description
CastUp<TDerived>(ReadOnlySpan<TDerived>)

읽기 전용 범위를 읽기 전용 범위 TDerived 로 캐스팅합니다 T.

CopyTo(Span<T>)

ReadOnlySpan<T> 내용을 대상 Span<T>에 복사합니다.

Equals(Object)
사용되지 않음.
사용되지 않음.

지원되지 않습니다. NotSupportedException를 throw합니다.

GetEnumerator()

ReadOnlySpan<T>열거자를 반환합니다.

GetHashCode()
사용되지 않음.

지원되지 않습니다. NotSupportedException를 throw합니다.

GetPinnableReference()

고정에 사용할 수 있는 T 형식의 개체에 대한 읽기 전용 참조를 반환합니다.

이 메서드는 .NET 컴파일러를 지원하기 위한 것이며 사용자 코드에서 호출할 수 없습니다.

Slice(Int32, Int32)

지정된 길이에 대해 지정된 인덱스에서 시작하여 현재 읽기 전용 범위에서 조각을 만듭니다.

Slice(Int32)

지정된 인덱스에서 시작되는 현재 읽기 전용 범위에서 조각을 만듭니다.

ToArray()

이 읽기 전용 범위의 내용을 새 배열에 복사합니다.

ToString()

ReadOnlySpan<T>.의 문자열 표현을 반환합니다.

TryCopyTo(Span<T>)

ReadOnlySpan<T> 내용을 a Span<T> 에 복사하려고 시도하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

연산자

Name Description
Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

ReadOnlySpan<T> 인스턴스가 같은지 여부를 나타내는 값을 반환합니다.

Implicit(ArraySegment<T> to ReadOnlySpan<T>)

에 대한 암시적 변환을 ArraySegment<T> 정의합니다 ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

배열을 .로의 암시적 변환을 정의합니다 ReadOnlySpan<T>.

Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>)

ReadOnlySpan<T> 인스턴스가 같지 않은지 여부를 나타내는 값을 반환합니다.

확장명 메서드

Name Description
BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

지정된 ReadOnlySpan<T> 제네릭 형식을 사용하여 정렬된 TComparable 전체 값을 검색합니다.

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

지정된 제네릭 형식을 사용하여 ReadOnlySpan<T> 정렬된 TComparer 전체 값을 검색합니다.

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

지정된 ReadOnlySpan<T> 제네릭 인터페이스를 사용하여 정렬된 IComparable<T> 전체 값을 검색합니다.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

공유 span 되는 공통 접두사 길이를 결정합니다 other.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

공유 span 되는 공통 접두사 길이를 찾습니다 other.

Contains<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 값을 검색하고 찾은 경우 반환합니다 true . 찾을 수 없으면 .를 반환합니다 false.

Contains<T>(ReadOnlySpan<T>, T)

지정된 값이 읽기 전용 범위에 있는지 여부를 나타냅니다.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 values 항목을 검색하고 찾으면 반환합니다 true . 찾을 수 없으면 .를 반환합니다 false.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 항목을 검색합니다 values.

ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 항목을 검색합니다 values.

ContainsAny<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

지정된 값 중 하나를 검색합니다.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

지정된 범위에서 지정된 값의 발생을 검색합니다.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T)

또는 지정된 범위에서 발생 value0value1value2 을 검색합니다.

ContainsAny<T>(ReadOnlySpan<T>, T, T)

발생 횟수 또는 value1을 검색합니다value0.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 범위에서 지정된 값 이외의 값을 검색합니다 values.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 범위에서 지정된 값 이외의 값을 검색합니다 values.

ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 범위에서 지정된 값 이외의 값을 검색합니다 values.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 범위에서 . 이외의 값을 value검색합니다.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

이외의 value0 값을 검색합니다 value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

, value1또는 value2. 이외의 value0값을 검색합니다.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

, value1또는 value2. 이외의 value0값을 검색합니다.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T)

지정된 범위에서 값이 아닌 value0 값 또는 value1.를 검색합니다.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T)

지정된 범위에서 지정된 값 이외의 값을 검색합니다 value.

ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

범위 외부 lowInclusive 의 값을 검색합니다 highInclusive( 포함).

ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T)

범위 lowInclusive 의 값과 highInclusive포함 값을 검색합니다.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

에서 지정된 value 횟수를 계산합니다 span.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

에서 발생하는 횟 value 수를 계산합니다.span

Count<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

에서 지정된 value 횟수를 계산합니다 span.

Count<T>(ReadOnlySpan<T>, T)

에서 지정된 value 횟수를 계산합니다 span.

CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

에 지정된 values 횟수가 계산됩니다 span.

CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

에 지정된 values 횟수가 계산됩니다 span.

CountAny<T>(ReadOnlySpan<T>, SearchValues<T>)

에 지정된 values 횟수가 계산됩니다 span.

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 시퀀스가 읽기 전용 범위의 끝에 표시되는지 여부를 결정합니다.

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 시퀀스가 읽기 전용 범위의 끝에 표시되는지 여부를 결정합니다.

EndsWith<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정한 값이 범위의 끝에 표시되는지 여부를 결정합니다.

EndsWith<T>(ReadOnlySpan<T>, T)

지정한 값이 범위의 끝에 표시되는지 여부를 결정합니다.

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 시퀀스를 검색하고 첫 번째 항목의 인덱스를 반환합니다.

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 시퀀스를 검색하고 첫 번째 항목의 인덱스를 반환합니다.

IndexOf<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 값을 검색하고 첫 번째 항목의 인덱스가 반환됩니다.

IndexOf<T>(ReadOnlySpan<T>, T)

지정된 값을 검색하고 첫 번째 항목의 인덱스가 반환됩니다.

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

지정된 값의 첫 번째 인덱스 검색

IndexOfAny<T>(ReadOnlySpan<T>, T, T)

지정된 값 중 하나의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 values값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 values값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 values값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 value값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

지정된 두 값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

또는 . 이외의 값value0value1value2의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

또는 . 이외의 값value0value1value2의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

지정된 두 값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

지정된 value값 이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

범위에서 벗어나는 값의 첫 번째 인덱스(highInclusive포함)lowInclusive를 검색합니다.

IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

범위에서 값의 첫 번째 인덱스( lowInclusive 포함)를 검색합니다 highInclusive.

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 시퀀스를 검색하고 마지막으로 발생한 인덱스를 반환합니다. 찾을 수 없으면 -1을 반환합니다.

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 시퀀스를 검색하고 마지막으로 발생한 인덱스를 반환합니다.

LastIndexOf<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 값을 검색하고 마지막으로 발생한 인덱스가 반환됩니다. 찾을 수 없으면 -1을 반환합니다.

LastIndexOf<T>(ReadOnlySpan<T>, T)

지정된 값을 검색하고 마지막으로 발생한 인덱스가 반환됩니다.

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

지정된 값의 마지막 인덱스 검색

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T)

지정된 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 values값 이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 values값 이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

지정된 values값 이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정된 value값 이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

지정된 value0 값이 아닌 값의 마지막 인덱스 또는 value1.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

지정된 value0value1값이 아닌 값의 마지막 인덱스 또는 value2.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

지정된 value0value1값이 아닌 값의 마지막 인덱스 또는 value2.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

지정된 value0 값이 아닌 값의 마지막 인덱스 또는 value1.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

지정된 value값 이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

범위에서 벗어나는 값의 마지막 인덱스(highInclusive포함)lowInclusive를 검색합니다.

LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

범위에서 값의 마지막 인덱스( lowInclusive 포함)를 검색합니다 highInclusive.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32)

두 읽기 전용 시퀀스가 메모리에서 겹치는지 여부를 확인하고 요소 오프셋을 출력합니다.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

두 개의 읽기 전용 시퀀스가 메모리에서 겹치는지 여부를 결정합니다.

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T, IEqualityComparer<T>)

에 복사하여 destinationsource 모든 항목을 .로 newValue바꿔줍니다oldValue.

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T)

에 복사하여 destinationsource 모든 항목을 .로 newValue바꿔줍니다oldValue.

ReplaceAny<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T)

에 복사하여 sourcedestination모든 요소 values 의 모든 항목을 .으로 newValue바꿔서

ReplaceAnyExcept<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T)

에 복사하여 destinationsource 에 있는 요소가 아닌 valuesnewValue모든 요소의 모든 항목을 바꿔서

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IComparer<T>)

IComparable{T}을(를) 사용하여 요소를 비교하여 비교되는 시퀀스의 상대 순서를 결정합니다. CompareTo(T).

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

IComparable{T}을 사용하여 해당 요소를 비교하여 두 읽기 전용 시퀀스의 상대 순서를 결정합니다. CompareTo(T).

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

를 사용하여 IEqualityComparer<T>요소를 비교하여 두 시퀀스가 같은지 여부를 확인합니다.

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

IEquatable{T}을(를) 사용하여 요소를 비교하여 두 개의 읽기 전용 시퀀스가 같은지 여부를 결정합니다. Equals(T).

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

제공된 구분 기호 범위를 사용하여 분할 범위 내의 각 요소를 열거할 수 있는 형식을 반환합니다.

Split<T>(ReadOnlySpan<T>, T)

제공된 구분 기호 문자를 사용하여 분할 범위 내의 각 요소를 열거할 수 있는 형식을 반환합니다.

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

제공된 요소를 사용하여 분할 범위 내의 각 요소를 열거할 수 있는 형식을 반환합니다.

SplitAny<T>(ReadOnlySpan<T>, SearchValues<T>)

제공된 구분 기호 문자를 사용하여 분할 범위 내의 각 요소를 열거할 수 있는 형식을 반환합니다.

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

지정된 시퀀스가 읽기 전용 범위의 시작 부분에 표시되는지 여부를 결정합니다.

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

지정된 시퀀스가 읽기 전용 범위의 시작 부분에 표시되는지 여부를 결정합니다.

StartsWith<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

지정한 값이 범위의 시작 부분에 표시되는지 여부를 결정합니다.

StartsWith<T>(ReadOnlySpan<T>, T)

지정한 값이 범위의 시작 부분에 표시되는지 여부를 결정합니다.

ToImmutableArray<T>(ReadOnlySpan<T>)

지정된 요소에서 변경할 수 없는 내용 배열을 생성합니다.

Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

읽기 전용 범위에 지정된 요소 집합의 선행 및 후행 항목을 읽기 전용 범위에서 모두 제거합니다.

Trim<T>(ReadOnlySpan<T>, T)

읽기 전용 범위에서 지정된 요소의 선행 및 후행 항목을 모두 제거합니다.

TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

읽기 전용 범위에 지정된 요소 집합의 모든 후행 항목을 읽기 전용 범위에서 제거합니다.

TrimEnd<T>(ReadOnlySpan<T>, T)

읽기 전용 범위에서 지정된 요소의 후행 항목을 모두 제거합니다.

TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

범위에서 읽기 전용 범위에 지정된 요소 집합의 선행 항목을 모두 제거합니다.

TrimStart<T>(ReadOnlySpan<T>, T)

범위에서 지정된 요소의 선행 항목을 모두 제거합니다.

적용 대상

추가 정보