1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cshapExTwo13_2 { class Program { static void Main(string[] args) { /* * 1) Tuple(튜플)이란 * - 메소드에서 두개 이상의 값을 리턴 할 수 있음 * * 2) Tuple(튜플)선언 * 튜플은 ( ) 안에 여러개의 필드를 저장하여 만들 수 있다. * var t = (100,200) // unnamed tuple 여기서 100은 item1, 200은 item2 * var t = (Name : "홍길동", ID : "1234") // named tuple * * cf) 튜플을 사용하기위한 패키지설치방법 * 도구 - NuGet패키지관리자 - 패키지관리자 콘솔 - PM> Install-Package "System.ValueTuple" 엔터 * */ // 튜플 기본 var v1 = ("홍길동", 22); Console.WriteLine($"{v1.Item1},{v1.Item2}"); var v2 = (Name:"홍길순", Age:32); Console.WriteLine($"{v2.Name},{v2.Age}"); var (name, age) = v2; Console.WriteLine($"{name},{age}"); v1 = v2; // 튜플은 valueType이므로 이렇게 복사가능 Console.WriteLine($"{v1.Item1},{v1.Item2}"); // 튜플 메소드 Console.WriteLine("--------------"); (int count, int sum, double avg) GetScore(List<int> data) //튜플 리턴타입 { int cnt = 0; int sum = 0; double avg = 0; foreach(var i in data) { cnt++; sum += i; } avg = sum / cnt; return (cnt, sum, avg); } var scoreData = new List<int> { 10, 20, 30, 40, 50 }; var result = GetScore(scoreData); Console.WriteLine($"{result.count},{result.sum},{result.avg}"); Console.WriteLine($"{result.Item1},{result.Item2},{result.Item3}"); } } } | cs |
-----------------------------------------------결과창-----------------------------------------------
홍길동,22
홍길순,32
홍길순,32
홍길순,32
--------------
5,150,30
5,150,30
'프로그래밍' 카테고리의 다른 글
2_13. 추상클래스 (0) | 2019.01.27 |
---|---|
2_12. 인터페이스 (0) | 2019.01.27 |
2_10. struct (구조체) (0) | 2019.01.22 |
2_9. virtual / override / new (0) | 2019.01.22 |
2_8. is연산자 와 as 연산자 (0) | 2019.01.21 |
댓글