다음을 통해 공유


Span<T> 구조체

정의

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

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

형식 매개 변수

T

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

상속
Span<T>
특성

설명

이 API에 대한 자세한 내용은 Span<T에 대한 추가 API 설명을 참조하세요>.

생성자

Span<T>(T)

지정된 참조 주위에 길이 1의 새 Span<T> 를 만듭니다.

Span<T>(T[])

지정된 배열 전체에 새로운 Span<T> 개체를 만듭니다.

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

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

Span<T>(Void*, Int32)

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

속성

Empty

Span<T> 개체를 반환합니다.

IsEmpty

현재 Span<T>가 비어 있는지 여부를 나타내는 값을 반환합니다.

Item[Int32]

지정된 인덱스(0부터 시작)에서 요소를 가져옵니다.

Length

현재 범위의 길이를 설정합니다.

메서드

Clear()

Span<T> 개체의 콘텐츠를 지웁니다.

CopyTo(Span<T>)

Span<T>의 콘텐츠를 대상 Span<T>로 복사합니다.

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

이 메서드의 호출은 지원되지 않습니다.

Fill(T)

지정된 값으로 이 범위의 요소를 채웁니다.

GetEnumerator()

Span<T>에 대한 열거자를 반환합니다.

GetHashCode()
사용되지 않음.

NotSupportedException를 throw합니다.

GetPinnableReference()

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

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

Slice(Int32)

지정된 인덱스로 시작되는 현재 범위에서 하나의 조각을 형성합니다.

Slice(Int32, Int32)

지정된 길이 대해 지정된 인덱스에서 시작하는 현재 범위에서 벗어난 조각을 형성합니다.

ToArray()

이 범위의 콘텐츠를 새 배열로 복사합니다.

ToString()

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

TryCopyTo(Span<T>)

현재 Span<T>을 대상 Span<T>에 복사하려고 시도하고 복사 작업의 성공 여부를 나타내는 값을 반환합니다.

연산자

Equality(Span<T>, Span<T>)

Span<T> 개체가 같은지 여부를 나타내는 값을 반환합니다.

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

ArraySegment<T>Span<T>로 변환하는 암시적 변환을 정의합니다.

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

Span<T>ReadOnlySpan<T>로 변환하는 암시적 변환을 정의합니다.

Implicit(T[] to Span<T>)

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

Inequality(Span<T>, Span<T>)

Span<T> 개체가 같지 않은지 여부를 나타내는 값을 반환합니다.

확장 메서드

ToImmutableArray<T>(Span<T>)

범위를 변경할 수 없는 배열로 변환합니다.

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

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

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

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

BinarySearch<T,TComparable>(Span<T>, TComparable)

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

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

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

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

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

Contains<T>(Span<T>, T)

범위에서 지정된 값을 찾을 수 있는지를 나타냅니다. IEquatable{T}.Equals(T)를 사용하여 값을 비교합니다.

ContainsAny<T>(Span<T>, T, T)

또는 value1value0 발생을 검색하고 찾은 경우 를 반환합니다true. 찾을 수 없으면 를 반환합니다 false.

ContainsAny<T>(Span<T>, T, T, T)

, 또는 의 value0발생을 검색하고 찾은 경우 를 반환합니다true.value2value1 찾을 수 없으면 를 반환합니다 false.

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

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

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

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

ContainsAnyExcept<T>(Span<T>, T)

지정된 value이외의 값을 검색합니다.

ContainsAnyExcept<T>(Span<T>, T, T)

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

ContainsAnyExcept<T>(Span<T>, T, T, T)

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

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

지정된 values이외의 값을 검색합니다.

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

지정된 values이외의 값을 검색합니다.

ContainsAnyExceptInRange<T>(Span<T>, T, T)

및 사이의 lowInclusive 범위를 벗어나는 값을 검색합니다 highInclusive( 포함).

ContainsAnyInRange<T>(Span<T>, T, T)

및 사이의 lowInclusive 범위에서 값을 검색하고 highInclusive를 포함하며 찾은 경우 를 반환합니다 true . 찾을 수 없으면 를 반환합니다 false.

Count<T>(Span<T>, T)

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

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

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

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

지정된 시퀀스가 범위 끝에 표시되는지 여부를 확인합니다.

IndexOf<T>(Span<T>, T)

지정한 값을 검색하고 맨 처음 발생하는 인덱스를 반환합니다. IEquatable{T}.Equals(T)를 사용하여 값을 비교합니다.

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

지정한 시퀀스를 검색하고 맨 처음 발생하는 인덱스를 반환합니다. IEquatable{T}.Equals(T)를 사용하여 값을 비교합니다.

IndexOfAny<T>(Span<T>, T, T)

논리 OR 연산자를 사용하여 IndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 첫 번째 인덱스를 검색합니다.

IndexOfAny<T>(Span<T>, T, T, T)

논리 OR 연산자를 사용하여 IndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 첫 번째 인덱스를 검색합니다.

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

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

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

논리 OR 연산자를 사용하여 IndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 첫 번째 인덱스를 검색합니다.

IndexOfAnyExcept<T>(Span<T>, T)

지정된 value가 아닌 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(Span<T>, T, T)

지정된 value0 또는 value1이외의 값의 첫 번째 인덱스 검색

IndexOfAnyExcept<T>(Span<T>, T, T, T)

지정된 value0, value1또는 value2이외의 값의 첫 번째 인덱스 검색

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

지정된 values가 아닌 값의 첫 번째 인덱스 검색

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

지정된 values가 아닌 값의 첫 번째 인덱스 검색

IndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

IndexOfAnyInRange<T>(Span<T>, T, T)

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

LastIndexOf<T>(Span<T>, T)

지정한 값을 검색하고 마지막으로 발생하는 인덱스를 반환합니다. IEquatable{T}.Equals(T)를 사용하여 값을 비교합니다.

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

지정한 시퀀스를 검색하고 마지막으로 발생하는 인덱스를 반환합니다. IEquatable{T}.Equals(T)를 사용하여 값을 비교합니다.

LastIndexOfAny<T>(Span<T>, T, T)

논리 OR 연산자를 사용하여 LastIndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 마지막 인덱스를 검색합니다.

LastIndexOfAny<T>(Span<T>, T, T, T)

논리 OR 연산자를 사용하여 LastIndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 마지막 인덱스를 검색합니다.

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

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

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

논리 OR 연산자를 사용하여 LastIndexOf를 여러 번 호출하는 것과 유사한 지정된 값의 마지막 인덱스를 검색합니다.

LastIndexOfAnyExcept<T>(Span<T>, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T)

지정된 value0 또는 value1이외의 값의 마지막 인덱스 검색

LastIndexOfAnyExcept<T>(Span<T>, T, T, T)

지정된 value0, value1또는 value2이외의 값의 마지막 인덱스 검색

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

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

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

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

LastIndexOfAnyExceptInRange<T>(Span<T>, T, T)

highInclusive사이의 lowInclusive 범위를 벗어난 값의 마지막 인덱스(포함)를 검색합니다.

LastIndexOfAnyInRange<T>(Span<T>, T, T)

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

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

범위와 읽기 전용 범위가 메모리에서 겹치는지 여부를 확인합니다.

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

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

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

oldValue을 모두 newValue로 바꿉니다.

Reverse<T>(Span<T>)

전체 범위에 있는 요소의 시퀀스를 역순으로 바꿉니다.

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

IComparable{T}.CompareTo(T)를 사용하여 요소를 비교하여 범위 및 읽기 전용 범위의 상대 순서를 확인합니다.

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

IEquatable{T}.Equals(T)를 사용하여 요소를 비교하여 범위 및 읽기 전용 범위가 같은지 여부를 확인합니다.

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

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

Sort<T>(Span<T>)

의 각 요소 구현을 사용하여 IComparable<T> 전체 Span<T> 의 요소를 정렬합니다Span<T>.

Sort<T>(Span<T>, Comparison<T>)

지정된 Comparison<T>을 사용하여 전체 Span<T>의 요소를 정렬합니다.

Sort<T,TComparer>(Span<T>, TComparer)

TComparer를 사용하여 전체 Span<T>의 요소를 정렬합니다.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>)

각 키의 IComparable<T> 구현을 사용하여 첫 번째 Span<T>의 키를 기반으로 한 쌍의 범위(키를 포함하는 범위와 해당하는 항목을 포함하는 범위)를 정렬합니다.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>, Comparison<TKey>)

지정된 비교를 사용하여 첫 번째 Span<T>의 키를 기반으로 한 쌍의 범위(키를 포함하는 범위와 해당 항목을 포함하는 범위)를 정렬합니다.

Sort<TKey,TValue,TComparer>(Span<TKey>, Span<TValue>, TComparer)

지정된 비교자를 사용하여 첫 번째 Span<T>의 키를 기반으로 한 쌍의 범위(키를 포함하는 범위와 해당 항목을 포함하는 범위)를 정렬합니다.

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

지정된 시퀀스가 범위의 시작 부분에 표시되는지 여부를 확인합니다.

Trim<T>(Span<T>, T)

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

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

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

TrimEnd<T>(Span<T>, T)

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

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

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

TrimStart<T>(Span<T>, T)

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

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

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

적용 대상

추가 정보