본문 바로가기

C#31

C# 정리 ) 상수 상수(constant)는 리터럴에 식별자를 붙인 것이다. 변하는 값을 고정된 식별자로 가리키는 것이 변수라면 상수는 변하지 않는 값인 리터럴을 식별자로 재사용 할 수 있게 해준다. class 클래스이름 { 접근제한자 const 상수타입 식별자 = 값; } 상수는 readonly와 비슷하지면 차이점이 있다 1. 상수는 static 예약어가 허용되지 않는다. (의미상으론 이미 static 이다) 2. 반드시 상수 정의와 함께 값을 대입해야 한다. 생성자에서 접근할 수 없다. 3. 상수는 컴파일 할 때 해당 소스코드에 값이 직접 치환되는 방식이다. 숫자를 표현할 수 있는 기본 자료형의 경우 그것이 표현할 수 있는 상한과 하한을 저장하고 있는 MaxValue, MinValue라는 공통된 상수를 제공한다. int.. 2022. 1. 2.
C# 정리 ) 읽기 전용 필드 프로퍼티를 사용하면 필드의 값을 읽기만 가능하도록 외부에 노출할 수 있다. class test { private int gett; public int getTest { get { return gett; } } } 하지만 클래스 내부에서도 읽기만 가능하도록 만들고 싶다면 어떻게 해야 할까? 아니면 한번 값을 쓰고 다시 값을 설정하지 못하게 해야할 때가 있다. 이럴때 readonly 예약어를 사용해 읽기 전용 필드를 정의하면 된다. class test { readonly int sec = 1; readonly string name; public test() { this.name = "일정"; } public void Run() { this.sec = 5; } } 필드를 정의할 때 readonly 예약어가 붙.. 2021. 12. 31.
C# 정리 ) enum 열거형 열거형도 값 형식의 하나로 byte, sbyte, short, ushort, int, uint, long, ulong 만을 상속받아 정의할 수 있는 제한된 사용자 정의 타입이다. using System; using System.Collections.Generic; using System.Linq; namespace MyApp // Note: actual namespace depends on the project name. { public class Program { enum Days { sun,mon,tue,wed,thu,fri,sat } public static void Main(string[] args) { Days today = Days.sun; Console.WriteLine(today.ToStr.. 2021. 12. 31.
C# 정리 ) out 예약어 참조에 의한 호출을 가능하게 하는 또 다른 예약어로는 out 이 있다. out은 ref과 비교할 때, 몇가지 차이가 있다. 1. out으로 지정된 인자에 넘길 변수는 초기화되지 않아도 된다. 초기화돼 있더라도 out 인자를 받는 메서드에서는 그 값을 사용할 수 없다. 2. out으로 지정된 인자를 받는 메서드는 반드시 변수에 값을 넣어서 반환해야 한다. 메서드는 단 1개의 반환값만 가질 수있다. 하지만 out으로 지정된 매개변수를 사용함으로써 어러 개의 값을 반환할 수 있다. int Divide(int n1, int n2) { if (n2 == 0) { return 0; } return n1 / n2; } 사칙 연산중 나눗셈만이 조건을 가지고 있는데, 그것은 절대로 분자를 0으로 나눌 수 없다는 것이다... 2021. 12. 16.