관리 메뉴

Algo μ“°μž

13. νŠœν”Œ 리턴 νƒ€μž…μ„ μ΄μš©ν•œ λ©”μ†Œλ“œ μ‚¬μš©ν•˜κΈ° λ³Έλ¬Έ

πŸ’» Programming Language/C#

13. νŠœν”Œ 리턴 νƒ€μž…μ„ μ΄μš©ν•œ λ©”μ†Œλ“œ μ‚¬μš©ν•˜κΈ°

S.Honey 2022. 4. 6. 09:26
using System;

namespace TupleEx2
{
    class Program
    {
        static void Main(string[] args)
        {   
            // νŠœν”Œ λ¦¬ν„΄νƒ€μž…μ„ μ΄μš©ν•œ λ©”μ†Œλ“œ μ„ μ–Έ
            (int count, int sum, double avg) getScore (List<int> data) //νŠœν”Œ λ¦¬ν„΄νƒ€μž…μ„ λͺ…μ‹œ.
            {
                int count = 0, sum =0;
                double avg = 0;

                foreach (var item in data)
                {
                    count++;
                    sum += item;
                }

                avg = sum / count;

                return (count, sum, avg);
            }

            var data = new List<int> {10, 11, 22, 33, 44};

            var result = getScore (data);

            Console.WriteLine ($"Count : {result.count}, Total : {result.sum}, Average : {result.avg}");
            Console.WriteLine($"Count : {result.Item1}, Total : {result.Item2}, Average : {result.Item3}");
        }
    }
}
Output

Count : 5, Total : 120, Average : 24
Count : 5, Total : 120, Average : 24

// νŠœν”Œ λ¦¬ν„΄νƒ€μž…μ„ μ΄μš©ν•œ λ©”μ†Œλ“œ μ„ μ–Έ
(int count, int sum, double avg) getScore (List<int> data) //νŠœν”Œ λ¦¬ν„΄νƒ€μž…μ„ λͺ…μ‹œ.
{
    int count = 0, sum =0;
    double avg = 0;

    foreach (var item in data)
    {
        count++;
        sum += item;
    }

    avg = sum / count;

    return (count, sum, avg);
}

  • νŠœν”Œ λ¦¬ν„΄νƒ€μž…μ„ λͺ…μ‹œν•˜μ—¬ λ©”μ†Œλ“œμ—μ„œ νŠœν”Œν˜•νƒœλ₯Ό λ°˜ν™˜ν•  수 μžˆλ‹€.

var data = new List<int> {10, 11, 22, 33, 44};

var result = getScore (data);

Console.WriteLine ($"Count : {result.count}, Total : {result.sum}, Average : {result.avg}"); // νŠœν”Œ λ‚΄ keyκ°’ 이용
Console.WriteLine($"Count : {result.Item1}, Total : {result.Item2}, Average : {result.Item3}"); // Item 이용

  • ν•΄λ‹Ή λ©”μ†Œλ“œμ—μ„œμ˜ νŠœν”Œ ν˜•νƒœμ˜ λ°˜ν™˜ κ°’μ—μ„œ μ›μ†Œλ₯Ό μΆ”μΆœν• λ•ŒλŠ” ν•΄λ‹Ή νŠœν”Œλ‚΄ key값을 μ΄μš©ν•˜κ±°λ‚˜ Item1, Item2 ... 둜 κ°€μ Έμ˜€λŠ” 방법이 μžˆλ‹€.

Tuple 라이브러리 μ„€μΉ˜ λͺ…λ Ήμ–΄
Install-Package "System.ValueTuple"
  • 도ꡬ => NuGet νŒ¨ν‚€μ§€ κ΄€λ¦¬μž => νŒ¨ν‚€μ§€ κ΄€λ¦¬μž μ½˜μ†”