ValueTuple 구조체

정의

값 튜플 만들기를 위한 정적 메서드를 제공합니다.Provides static methods for creating value tuples.

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
상속
ValueTuple
특성
구현

설명

튜플은 요소의 시퀀스를 특정 수 있는 데이터 구조입니다.A tuple is a data structure that has a specific number and sequence of elements. 튜플을 예로 첫 번째 요소에서 세 번째 요소에 해당 연도 대 한 두 번째 요소인 및 개인의 소득이 연간 사람의 이름과 같은 식별자를 저장 하는 데 사용 되는 세 가지 요소 (3-튜플 또는 셋을로 알려짐)를 사용 하 여 데이터 구조입니다.An example of a tuple is a data structure with three elements (known as a 3-tuple or triple) that is used to store an identifier such as a person's name in the first element, a year in the second element, and the person's income for that year in the third element.

값 튜플 형식은 튜플에 도입 된 합니다 .NET Framework 4.7.NET Framework 4.7 의 런타임 구현을 제공 하도록 의 튜플 C# 의 구조체 튜플 및 F#합니다.Value tuples are tuple types introduced in the .NET Framework 4.7.NET Framework 4.7 to provide the runtime implementation of tuples in C# and struct tuples in F#. Tuple 클래스에서와 같은 다른 Tuple<T1>, Tuple<T1,T2>등 다음과 같습니다.They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • 이들은 클래스 (참조 형식) 대신 구조체 (값 형식)입니다.They are structures (value types) rather than classes (reference types).

  • 이들은 변경할 수 있는 것이 아니라 읽기 전용입니다.They are mutable rather than read-only. 즉, 튜플 구성 요소의 값은 변경할 수 있습니다.That is, the value of tuple components can change.

  • 해당 데이터 멤버와 같은 Item1, Item2등 속성 대신 필드는 합니다.Their data members, such as Item1, Item2, etc., are fields rather than properties.

ValueTuple 구조체 요소가 있는 튜플을 나타냅니다.The ValueTuple structure represents a tuple that has no elements. 값 튜플 형식의 인스턴스를 비교 하 고 만들 수 있는 정적 메서드에 주로 유용 합니다.It is useful primarily for its static methods that let you create and compare instances of value tuple types. 해당 도우미 메서드를 통해 값 튜플의 각 값 튜플 구성 요소의 형식을 명시적으로 지정 하지 않고 인스턴스화할 수 있습니다.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. 클래스의 정적 호출 하 여 Create 메서드 8 구성 요소에는 0에서 있는 값 튜플을 만들 수 있습니다.By calling its static Create methods, you can create value tuples that have from zero to eight components. 8 개 이상의 구성 요소를 사용 하 여 튜플 값에 대 한 호출 해야 합니다는 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 생성자입니다.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Serialization 및 값 튜플Serialization and value tuples

ValueTuple .NET Core에서 직렬화 가능 형식이 아닙니다. 1.x 나.NET Framework 4.7 및 이전 버전입니다.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. 또한.NET Standard,.NET Standard 2.0을 포함 하는 위임 하지의 serialization ValueTuple 인스턴스; 여부는 ValueTuple 인스턴스가 직렬화 할 수 개별.NET 표준 구현에 따라 달라 집니다.In addition, .NET Standard, including .NET Standard 2.0, does not mandate serialization of ValueTuple instances; whether or not a ValueTuple instance is serializable depends on the individual .NET Standard implementation. 결정할 여부를 ValueTuple 형식은 특정.NET 구현에서 직렬화, 가져오기는 Type 나타내는 개체를 ValueTuple 입력 하 고 값을 검색 해당 IsSerializable 속성.To determine whether a ValueTuple type is serializable on a particular .NET implementation, get a Type object that represents the ValueTuple type and retrieve the value of its IsSerializable property. .NET Core 및.NET Framework에서 직렬화 가능 형식의 목록은 참조 하세요 이진 Serialization합니다.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

메서드

CompareTo(ValueTuple)

현재 ValueTuple 인스턴스를 지정된 ValueTuple 인스턴스와 비교합니다.Compares the current ValueTuple instance to a specified ValueTuple instance.

Create()

구성 요소가 포함되지 않은 새 값 튜플을 만듭니다.Creates a new value tuple with zero components.

Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8)

구성 요소 8개가 포함된 새 값 튜플(8중)을 만듭니다.Creates a new value tuple with 8 components (an octuple).

Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7)

구성 요소 7개가 포함된 새 값 튜플(7중)을 만듭니다.Creates a new value tuple with 7 components (a septuple).

Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6)

구성 요소 6개가 포함된 새 값 튜플(6중)을 만듭니다.Creates a new value tuple with 6 components (a sexuple).

Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5)

구성 요소 5개가 포함된 새 값 튜플(5중)을 만듭니다.Creates a new value tuple with 5 components (a quintuple).

Create<T1,T2,T3,T4>(T1, T2, T3, T4)

구성 요소 4개가 포함된 새 값 튜플(4중)을 만듭니다.Creates a new value tuple with 4 components (a quadruple).

Create<T1,T2,T3>(T1, T2, T3)

구성 요소 3개가 포함된 새 값 튜플(3중)을 만듭니다.Creates a new value tuple with 3 components (a triple).

Create<T1,T2>(T1, T2)

구성 요소 2개가 포함된 새 값 튜플(쌍)을 만듭니다.Creates a new value tuple with 2 components (a pair).

Create<T1>(T1)

구성 요소 1개가 포함된 새 값 튜플(singleton)을 만듭니다.Creates a new value tuple with 1 component (a singleton).

Equals(Object)

현재 ValueTuple 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

Equals(ValueTuple)

두 개의 ValueTuple 인스턴스가 같은지 여부를 확인합니다.Determines whether two ValueTuple instances are equal. 이 메서드는 항상 true을 반환합니다.This method always returns true.

GetHashCode()

현재 ValueTuple 인스턴스의 해시 코드를 반환합니다.Returns the hash code for the current ValueTuple instance.

ToString()

ValueTuple 인스턴스의 문자열 표현을 반환합니다.Returns the string representation of this ValueTuple instance.

명시적 인터페이스 구현

IComparable.CompareTo(Object)

ValueTuple 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.Compares this ValueTuple instance with a specified object and returns an indication of their relative values.

IStructuralComparable.CompareTo(Object, IComparer)

현재 ValueTuple 인스턴스를 지정된 개체와 비교합니다.Compares the current ValueTuple instance to a specified object.

IStructuralEquatable.Equals(Object, IEqualityComparer)

지정된 비교 방법을 기준으로 하여 현재 ValueTuple 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer)

ValueTuple 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this ValueTuple instance.

ITuple.Item[Int32]

IndexOutOfRangeException를 반환합니다.Returns an IndexOutOfRangeException. ValueTuple에 요소가 없습니다.There are no elements in a ValueTuple.

ITuple.Length

ValueTuple 인스턴스의 길이(항상 0)를 가져옵니다.Gets the length of this ValueTuple instance, which is always 0. ValueTuple에 요소가 없습니다.There are no elements in a ValueTuple.

적용 대상