순서

I. 기초
II. 가변길이 매개변수
III. 명명된 인수 / 선택적 인수

 


I. 기초

 

C#은 C++과 비슷해 보이지만 구조는 Java랑 비슷한 느낌이다.

공부가 좀 필요할듯... 아주 기초 사용법...

using System // Consol 사용

주로 비슷한 기능을 하는 Class를 감싸서
namespace를 정의해준다. 외부에서 using ~~으로 정의
namespace HelloSpace {
  class CMain {
    public static void Main() {
      CHello myHello = new CHello(); // 객체 생성
      Console.WriteLine($"{myHello.print("Hello~")}");
    }
  }
  class CHello {
    public void print() {
      Console.WiteLine("{0}", Str);
    }
  }
}

Main 함수가 클래스 안에 존재하고,
System에서 Class내부의 Main을 호출해야하므로 static으로 정의함.

printf -> System.Console.WriteLine 사용
1. ($"{Variable}")
2. ("{0} {1}", var1, var2) 처럼 사용함

 


II. 가변길이 매개변수

 

C#에서는 함수 인자에 "params"를 붙여 매개변수를 가변길이의 list로 받을 수 있다.

using System;

namespace ParamApp1 {
  class CParam {
    private static void Sum(params int[] num) {
      int sum = 0;
      Console.Write("Length : {0} ", num.Length);
      foreach (int i in num) sum += i;
      Console.WriteLine("Sum : {0}", sum);
    }
    
    public static void Main() {
      int[] myArray = new int [3] {11,22,33};
      Sum(1);
      Sum(1,2);
      Sum(myArray);
    }
  }
}

출력

Length : 1 Sum : 1
Length : 2 Sum : 3
Length : 3 Sum : 66

 


III. 명명된 인수 / 선택적 인수

 

인수명을 알고있다면 Caller에서 직접 지정할 수 있고,
C++처럼 Default 인수를 설정할 수 있다.

class CProg {
  private int Sum(int i, int j = 0) => Console.Writeline($"{i}, {j}");

  public static void Main() {
    CProg program = new CProg();
    program.Sum(i:1, j:10); // 명명된인수
    program.Sum(2) // 선택적 인수 ( j = 0 자동으로설정)

+ Recent posts