언어/C#

튜플(Tuple)

에린_1 2024. 8. 8. 09:46
728x90

튜플(Tuple)

  • C#에서 여러 개의 값들을 하나의 값처럼 묶어 사용하는 데이터 구조이다.
  • 서로 다른 타입의 값들을 하나의 단위로 묶어서 처리할 수 있어, 메서드에서 여러 값을 반환하거나 임시 데이터 구조를 생성할 때 유용하게 사용된다.
  • 튜플을 값 타입이며, C# 7.0 이후로 개선된 ValueTuple 구조를 사용하여 더 간결하고 효율적으로 사용할 수 있다.

특징

  1. 불변성
    • 기본적으로 불변(immutable)이다. 한 번 값을 설정하면 수정할 수 없다.
    • 이는 다중 스레드 환경에서 데이터의 일관성을 유지하는 데 유용하다.
  2. 값 타입
    • 힙이 아닌 스택에 할당되어 메모리 할당이 더 효율적이다.
  3. 가변 길이
    • 튜플은 최대 8개의 요소를 가질 수 있으며, 필요에 따라 더 많은 요소를 중첩 튜플로 확장할 수 있다.
  4. 명명된 요소
    • C# 7.0 이후에는 튜플의 요소에 이름을 지정할 수 있어 코드의 가독성을 높일 수 있다.

장점

  • 간단한 구조
    • 여러 값을 쉽게 그룹화할 수 있다.
  • 임시 데이터 구조
    • 복잡한 데이터 구조를 정의하지 않고도 여러 값을 반환하거나 전달할 수 있다.
  • 명명된 요소
    • 요소의 의미를 명확히 할 수 있다.

단점

  • 불변성
    • 요소의 값을 변경할 수 없다. 필요한 경우 새로운 튜플을 만들어야 한다.
  • 복잡한 구조 표현의 한계
    • 많은 요소를 가지거나 복잡한 데이터 구조를 표현하기에는 부적합하다.
  • 의미 부족
    • 복잡한 데이터 구조의 비해 의미가 명확하지 않을 수 있다.
728x90

'언어 > C#' 카테고리의 다른 글

LINQ Count 메서드  (0) 2024.08.08
IEnumerable<out T>  (0) 2024.08.08
System.Data.SqlClient.SqlException (0x80131904)  (0) 2024.08.08
System.Data.SqlClient.SqlConnection.OnError  (0) 2024.08.08
SortedDictionary<TKey, TValue>  (0) 2024.08.07