레이블이 #매개변수인 게시물을 표시합니다. 모든 게시물 표시
레이블이 #매개변수인 게시물을 표시합니다. 모든 게시물 표시

2021년 11월 6일 토요일

C#, 명명된 인수 및 선택적 인수

C#, 명명된 인수 및 선택적 인수


명명된 인수


매개변수 목록에서의 매개변수 위치지정 대신 매개변수의 이름과 인수를 연결하여 특정 매개변수에 대한 인수를 지정할 수 있으므로 매개변수의 순서를 기억하거나 확인할 필요가 없다.

메소드에서 파라미터 값을 넘길 때 매개변수 이름을 정해서 넘기는 방법을 제공한다.


 

using System;

namespace Test

{

    class Tester

    {       

        static void Main(string[] args)

        {

            Console.WriteLine(Sum(j : 1, i : 2));

            SayHello(age : 20, name : "OJC");

        }

 

        static int Sum(int i, int j) 

{

            Console.WriteLine("i={0}, j={1}", i, j);

            return i + j;

        }

 

        static void SayHello(string name, int age) 

        {

            Console.WriteLine("안녕, name = {0}, age = {1}", name, age);

        }

    }

}

 


선택적 인수


메소드, 생성자, 인덱서 또는 대리자의 정의에서 해당 매개변수가 필수인지 선택적인지 지정할 수 있는데, 호출할 경우 모든 필수 매개변수에 대한 인수는 항상 제공해야 하지만 선택적 매개변수에 대한 인수는 생략할 수 있다. 각각의 선택적 매개변수에는 기본값이 있으며 해당 매개변수에 대해 인수를 전달하지 않으면 기본값이 사용된다.



 

using System;

namespace Test

{

    class Tester

    {

        private int m = 88, n = 99;

 

        //Tester(){

        //    this.m = 0; this.n = 0;

        //}

 

        //위 기본생성자의 의미를 포함하고 있다.

        Tester(int m = 0, int n = 0)

        {

            this.m = m;        this.n = n;

        }

 

//선택적 매개변수

        static int Sum(int i = 0, int j = 0)  // i, j 매개변수없이 호출되면 I,j에 0이 대입

{

            return i + j;

        }

 

 

        static void Main(string[] args)

        {

            Console.WriteLine(Sum(1, 2));

            Console.WriteLine(Sum(j:7));

            Console.WriteLine(Sum());

 

            Tester t1 = new Tester();

            Console.WriteLine("m={0}, n={1}", t1.m, t1.n);

 

            Tester t2 = new Tester(1, 2);

            Console.WriteLine("m={0}, n={1}", t2.m, t2.n);

        }

 

        

    }

}

 

 

using System;

 

namespace Test

{

    class Tester

    {

        static void Main(string[] args)

        {

            Console.WriteLine(Minus(1, 2));              //i=1, j=2

            Console.WriteLine(Minus (1));                //i=1, j=0

            Console.WriteLine(Minus (i : 8, j : 9));     //i=8, j=9

            Console.WriteLine(Minus (j : 8, i : 9));     //i=9, j=8

            Console.WriteLine(Minus ());                 //i=0, j=0

        }

 

        static int Minus(int i = 0, int j = 0)  // i, j 매개변수없이호출되면 0이 대입됨

        {

            return i - j;

        }

    }

}

 

 

 

 

#명명된인수, #선택적인수, #매개변수, #시샵매개변수, #닷넷교육, #시샵강좌

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...