아래 글은 C# 튜플(Tuple) 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.

 

 

 

📃 참고자료

 

  • C# 교과서(길벗 출판사) - 51단원 튜플 666 ~ 669페이지
  • 유튜브 채널 VisualAcademy [C# 교과서 마스터하기 51. 튜플]
  • 닷넷코리아 (https://www.dotnetkorea.com/)

 

 

https://www.youtube.com/watch?v=S99SmK8hQt4 

 

 

 

 

✳ 튜플(Tuple)

 

 

  • 값을 한번에 하나 이상 전달하거나 제공받을 때 사용하는 데이터 구조입니다.
  • 프로그래밍 자체에서 추가 클래스가 아닌 괄호를 사용하여 값을 하나 이상 그룹화합니다.
  • 함수에서 여러 값을 반환하는 데 많은 도움을 줍니다.
  • 명시적인 형식을 지정할 필요가 없습니다. 컴파일러가 형식을 유추하여 자동으로 형식을 제공합니다.
  • 기존에 사용하던 Tuple 클래스는 Item1, Item2, ... 형태로 접근했지만, 튜플을 사용하면 원하는 이름의
    속성을 만들 수 있습니다.

 

 

 

 

✳ 튜플 리터럴(Tuple Literal)

using static System.Console;

class TupleLiteral
{
    static void Main()
    {
        var fhd = (1920, 1080); //[1] 기본: Item1, Item2 형태 
        WriteLine($"Full HD: {fhd.Item1} * {fhd.Item2}");

        var uhd = (Width: 3840, Height: 2160); //[2] 이름 지정
        WriteLine($"4K UHD: {uhd.Width} * {uhd.Height}");

        (ushort Width, ushort Height) hd = (1366, 768); //[3] 이름과 형식 지정
        Write($"HD: {hd.Width} * {hd.Height}");
        WriteLine($"Type({hd.Width.GetType()}, {hd.Height.GetType()})");
    }
}
반응형

 

 

 

아래 글은 C# 메서드와 매개변수 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.

 

 

 

 

📃 참고자료

 

  • C# 교과서(길벗 출판사) - 37단원 메서드와 매개변수 489 ~ 502페이지
  • 유튜브 채널 VisualAcademy [C# 교과서 마스터하기 37. 메서드와 매개변수]
  • 닷넷코리아 (https://www.dotnetkorea.com/)

 

 

 

 

https://www.youtube.com/watch?v=7XtfWhT4hp0 

 

 

 

 

 

✳ 메서드와 매개변수

 

  • 액세스 한정자 (Accessor)
  • 반환값 (Return Type)
    -> 반환값은 모든 타입(any type)이 될 수 있음
    -> 반환값 없는 경우에는 void
  • 메서드(함수)명 (FunctionName)
  • 매개변수(Parameters)

 

Accessor returnType FunctionName(Parameters)
{
	Code;
}

 

 

 

 

 

✳ 시그니처 : 메서드명과 매개변수 리스트

 

 

  • 시그니처
    - 함수명과 매개변수 리스트
    - 메서드 오버로드의 구분점이 됨

 

 

 

 

✳ 매개변수(파라미터) 전달 기법

 

 

 - 파라미터 전달의 3가지 방법

 

in 입력모드
값에 의한 전달(Pass by value)
ref 입출력 모드
참조에 의한 전달(Pass by reference)
out 출력 모드
Output 매개변수(Output parameters)

 

 

 

 

✳ 값에 의한 전달(Pass by value)

 

  • Call by value
  • 파라미터 전달의 기본 기법
    - 파라미터 값이 복사됨
    - 변수는 메서드 안에서 바뀜
    - 메서드 밖에 있는 값에는 영향을 미치지 않음
    - 파라미터는 반드시 같거나 호환 가능해야 함

 

static void AddOne(int x)
{
	x++;  // 넘어온 값을 1 증가
}

static void Main()
{
	int k = 6;
    AddOne(K);
    Console.WriteLine(k);  // 6 출력, 7로 증가되지 않음
}

 

 

 

 

✳ 참조에 의한 전달(pass by Reference)

 

  • call by reference
  • 참조형 매개변수란?
    - 참조란 메모리 상의 퇴치(포인터)
  • 참조형 매개변수 사용
    - 형식과 변숫값이 맞아야함
    - 호출자에 의해서 원본 데이터에 영향
    - 메서드를 호출하기 전에 매개변수를 초기화해야 함

 

 

✳ oupput 매개변수(output parameters)

 

  • output 매개변수
    - 매개 변수의 값이 메서드 안에서 밖으로 전달
  • output 매개변수 사용
    - 기본적으로 ref 매개변수와 같다.
      -> 그렇지만 값이 메서드 안으로 전달되지는 않음
    - 메서드 선언과 호출 시 out 키워드 사용

 

static void OutDemo(out int p)
{
	// ...
}
int n;
OutDemo(out n);

 

 

 

 

 

✳ 가변형 매개변수 : C#

 

  • params 키워드 사용
  • 값 전달
  • 한번에 여러 개의 매개변수(배열형) 전달 가능

 

 

 

 

 

반응형

+ Recent posts