Programming/.NET

메서드 구현시 매개변수에 값이 지정되지 않으면 미리 정해놓은 값을 사용하도록 하는 경우가 있습니다. 대부분 이렇게 하려면 메서드를 오버로드하는 것으로 해결하곤 합니다.

 

static void Main(string[] args)
{
    input_member("홍길동");
    input_member("홍길동", 30);
    input_member("홍길동", 30, "seoul");

    Console.Read();
}

static void input_member(string name)
{
    input_member(name, 30, "seoul");
}

static void input_member(string nameint age)
{
    input_member(nameage"seoul");
}

static void input_member(string nameint agestring address)
{
    //처리
}

 

하지만 선택적 매개변수를 사용하면 단 하나의 메서드로 위와 같은 기능을 구현할 수 있습니다.

 

static void Main(string[] args)
{
    input_member("홍길동");
    input_member("홍길동", 30);
    input_member("홍길동", 30, "seoul");

    Console.Read();
}

static void input_member(string nameint age = 30, string address = "seoul")
{
    input_member(name, 30, "seoul");
}

 

메서드를 호출할때도 특정 매개변수를 지정해 값을 전달할 수 있습니다. 이런 경우에는 매개변수의 순서를 무시할 수 있습니다.

 

input_member(age: 30, name"홍길동"address"seoul");

'Programming > .NET' 카테고리의 다른 글

[C#] 문자열 보간 ($)  (0) 2017.11.28
[C#] ArrayList  (0) 2017.11.14
[C#] 선택적 매개변수  (0) 2017.11.07
[C#] Task  (0) 2017.11.01
[C#] BigInteger  (0) 2017.10.24
[ASP.NET MVC] 다중 모델 사용하기 (Tuple)  (0) 2017.10.18
0 0