본문 바로가기
Unity 유니티 기초강의

C# 반환값 여러개 받기 Tuple 메서드

by 만사오케이프로 2022. 5. 19.
반응형

프로그램을 만들다보면 함수의 리턴값이 여러개 있으면 좋겠다는 생각을 많이 합니다.

그래서 전역변수로 데이터를 저장하거나 ref, out 등으로 데이터를 가져올수 있습니다. 그렇지만 변수를 미리 선언해주어야 하기에 불편합니다.

 

1.반환값을 가져오는 방법

C# 7.0이상부터 여러개의 반환값을 가져올수 튜플 기능을 제공합니다. 튜플은 간단한 데이터들을 구룹화하여 간결하게 할수 있는 기능입니다.

 

2.유니티 C# 버전

유니티 버전마다 지원하는 C# 버전이 다르니 프로젝트 시작할때 버전을 알아두는데 도움이 됩니다.

최신 C#을 문법을 배워 빠른 개발을 할수 있기 떄문입니다.

 

 

2021.3 기준으로 C# 9.0을 사용하고 있다는걸 알수 있습니다.

 

 

3.튜플 형식 C#

 

기본적인 튜플 이론

 

간단한 데이터들을 구룹화하였습니다.

순서대로 Item1 ~ 이런식으로 데이터를 읽을수 있습니다.

(double, int) s1 = (5, 2);

Debug.Log($"Tuple with elements {s1.Item1} and {s1.Item2}.");

// Tuple with elements 5 and 2.

 

데이터의 개수와 합을 구할수 있는 함수도 들어가 있습니다.

Console.WriteLine($"Sum of {s1.Count} elements is {s1.Sum}.");

 

 

반환값 받는 방법1

void Start()
{
  var temp = TupleTest(100, 30);
  Debug.Log("HP : " + temp.name);
  Debug.Log("MP : " + temp.mp);
}
 
(int hp, int mp) TupleTest(int _hp, int _mp)
{
   return (_hp, _mp);
}
  

반환값 받는 방법2

void Start()
{
   (int hp, int mp) = TupleTest(100, 30);
   Debug.Log("HP : " + hp);
   Debug.Log("MP : " + mp);
}
 
(int hp, int mp) TupleTest(int _hp, int _mp)
{
   return (_hp, _mp);
}
 
 

반환값 받는 방법3

void Start()
{
   (int, int) data = TupleTest(100, 30);
   Debug.Log("HP : " + data.Item1);
   Debug.Log("MP : " + data.Item2);
}
 
(int hp, int mp) TupleTest(int _hp, int _mp)
{
   return (_hp, _mp);
}

 

C# 책 추천

시작하세요! C# 9.0 프로그래밍

여러분이 프로그램을 만들때 C# 프로그래밍 언어의 기초를 다질 수 있게 도움이 됩니다. 이 책은 C# 언어의 C# 9.0의 문법까지 설명하고 있습니다. 단순히 언어의 문법을 습득하는 데 그치지 않습니다. 그리고 실제로 프로그램을 제작할 수 있는 단계까지 학습할 수 있게 내용을 구성했습니다.

 

고급 C# 책

이펙티브 C#

더 나은 C# 코드를 작성하는 새로운 방법 50가지

C#은 전통적인 .NET 기반 개발 뿐만 아니라 유니티 게임 엔진으로도 개발 영역을 확대하고 있습니다. 자마린으로 다양한 모바일 플랫폼으로 만들수 있습니다. 또한 이 책은 소프트웨어 개발자가 C#을 더 효율적으로 사용할 수 있도록 다양한 팁과 실용적인 방법을 제공한다.

반응형

댓글