명명된 인수, 선택적 인수, 로컬 함수

Fruit·2023년 3월 28일

✨ Hello C#!

목록 보기
21/34
post-thumbnail

🌸 명명된 인수: :

  • 메서드를 호출할 때 인수의 이름에 근거해 데이터를 할당할 수 있다.

인수의 이름 뒤의 콜론을 붙인 뒤 할당할 데이터를 입력한다.


🌸 선택적 인수

  • 메서드의 매개변수는 기본값을 가질 수 있다.
  • 항상 필수 인수 뒤에 위치한다.
using System;

namespace NamedOptionalParameter
{
    class MainApp
    {
        static void PrintProfile (string name, int age, string phone = "-")      // string phone = "-": 선택적 인수
        {
            Console.WriteLine($"name: {name}, age: {age}, phone: {phone}");
        }


        static void Main(string[] args)
        {
            PrintProfile(name: "Fruit", age: 31);       // 명명된 인수
            PrintProfile(name: "Amy", age: 32, phone: "010-1234-5678");       // 명명된 인수
        }
    }
}

[실행 결과]
name: Fruit, age: 31, phone: -
name: Amy, age: 32, phone: 010-1234-5678



🌸 로컬 함수

  • 메서드 안에서 선언된다.
  • 자신이 존재하는 지역에 선언되어 있는 변수를 사용할 수 있다.
  • 클래스의 멤버가 아니기 때문에 함수라 부른다.
using System;

namespace LocalFunction
{
    class MainApp
    {
        static string ToLowerString (string input)
        {
            var arr = input.ToArray();

            for (int i = 0; i < arr.Length; i++)
                arr[i] = ToLowerchar(i);

            char ToLowerchar(int i)     // 로컬 함수
            {
                if (65 > arr[i]  || arr[i] > 90)        // ASCII 코드 A ~ Z
                    return arr[i];		// 지역 변수 arr 사용
                else
                    return (char)(arr[i] + 32);
            }
            return new string(arr);
        }


        static void Main(string[] args)
        {
            Console.WriteLine(ToLowerString("Hello Fruit!"));
        }
    }
}

[실행 결과]
hello fruit!
profile
🌼인생 참 🌻꽃🌻 같다🌼

0개의 댓글