C#/C#200제

[C#] 13일차 - 90. 가변길이 매개변수 params의 사용방법

반나무 2021. 2. 9. 19:18

단 메소드 선언에서 params 키워드 뒤에는 추가 매개변수가 허용되지 않으며, params키워드 하나만 메소드 선언에 사용할 수 있습니다.

 

params의 형식은 1차원 배열이여야합니다.

타입이같다면 1차원 배열을 매개변수로 전달할 수도있습니다.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A090_params
{
    class Program
    {
        public static void PrintIntParams(params int[] arr)
        {
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();
        }
        
        public static void PrintObjectParams(params object[] arr)
        {
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();
        }
        static void Main(string[] args)
        {
            PrintIntParams(1, 2, 3, 4);
            PrintObjectParams(1, 1.234, 'a', "test");
            PrintObjectParams();

            int[] myIntArray = { 5, 6, 7, 8, 9 };
            PrintIntParams(myIntArray);

            object[] myObjArray = { 2, 2.345, 'b', "test", "again" };
            PrintObjectParams(myObjArray);

            PrintObjectParams(myIntArray); // 배열의 내용을 출력할 수는 없고 myIntArray자체를 object타입의 매개변수 하나로 간주해 출력
        }
    }
}

반응형