본문 바로가기

C#11

[Visual Studio] 단축키 설정 방법 Visual Studio 에서 Custom한 단축키를 설정하는 방법이다. => 도구 - 옵션 - 환경 - 키보드 선택 후, 단축키를 설정할 기능을 지정하고, [바로 가기 키 누르기] 공간에 단축키로 지정할 키 모음을 함께 입력하면 자동으로 입력된다. 이후, 할당 버튼을 누르고 확인 버튼을 누르면, Code창에서 사용할 수 있다. 2021. 8. 25.
C# yield문 § Yeild 문 § ◈ 호출자에게 컬렉션 데이터를 하나씩 리턴할 때 사용한다. - Collection : ArrayList, Stack, Queue, Hashtable... (Collection 정리 참조) class MyClass { static void Main(string[] args) { //int[] scores = new int[] {1, 2, 3 }; int[] arr = GetScores(); //foreach (var item in arr) foreach ( var item in GetScores()) { Console.WriteLine(item); } } static int[] GetScores( ) { int[] scores = new int[] { 1, 2, 3 }; return .. 2020. 12. 29.
C# 열거형 (Enum) § 열거형 Enum § ◈ 사용하는 목적 1. 일반적인 숫자(상수)보다 의미있는 단어로 표현하기 위하여 사용. 2. 타인을 배려할 수 있는 프로그래밍. 3. 가독성 상승 - Enum을 사용하지 않고, switch case 사용할 때의 형태 : class MyClass { static void Main(string[] args) { Order(2, 3); } static void Order(int item, int cnt) { switch (item) { case 1: Console.WriteLine("Coffee " + cnt + "잔"); break; case 2: Console.WriteLine("Green Tea " + cnt + "잔"); break; case 3: Console.WriteLine.. 2020. 12. 29.
C# 매개 변수 ref, out, method overloading ◈ parameter - 일반 변수 형식인 경우 : 변수 지정, 함수 내에서 변수에 대입될 값 지정. (원본) - 참조 + 일반 형식인 경우 : 외부 변수를 참조형식으로 가져온다. (복사의 개념, 사본) ◈ void 함수 : 특정한 리턴값이 없는 함수의 형태 class Method { public void Method_A() { } } § 출력 전용 매개 변수 ref § ◈ ref : Reference의 약어 - 참조에 의한 전달방식 조건 1. 참조가 되기 전에 변수의 초기화 필수 조건 2. 함수 내에서 값을 설정할 필요는 없다. using System; // 출력 전용 매개 변수. p198. ref, out 차이점 namespace MyNamespace { class MyClass { static vo.. 2020. 12. 27.
C# 제어문 § 제어문 § using System; // 제어문(조건문) - if class Program { static void Main(string[] args) { int score = 95; if (score >= 90) { System.Console.WriteLine("수"); } else if (score>=80) { System.Console.WriteLine("우"); } else if (score >= 70) { System.Console.WriteLine("미"); } else if (score >= 60) { System.Console.WriteLine("양"); } else { System.Console.WriteLine("가"); } } } // 제어문(조건문) - 중첩 if class Pr.. 2020. 12. 27.
C# 배열 § 배열 § using System; // 1차원 배열 (선언 방법: 타입[] 변수 이름 = new 타입[5];) class Program { static void Main(string[] args) { int[] arr = new int[5]; arr[0] = 10; arr[1] = 30; arr[2] = 1; arr[3] = 20; arr[4] = 20; // 배열 크기를 명시하고(3) 초기화 ㄱ string[] array = new string[3] {"aaa", "bbb", "ccc"}; // 배열 크기를 명시하지 않고(3) 초기화 ㄱ string[] array1 = new string[] { "aaa", "bbb", "ccc" }; // 이것도 하나의 방법이긴 하지만 왠만하면 사용하지 말고 위 .. 2020. 12. 27.
C# 함수 § Method § ◈ 기본형 class Basic { public static int basic_A( int a, int b ) { return a + b; // 일반 함수 } static void Main(string[] args) { // 메인 함수 } } ◈ 접근 제한 수준 : Static - Public - Private ◈ 구분 - Static : 정적 함수, static으로 선언된 함수끼리만 호출 가능. - Public : 접근 제한 無, 전체 공유 및 참조 가능. 외부 class에서 접근시, 보호 수준을 해제한다. - Private : 접근 제한 有, 외부로부터 보호받아야 하는 중요 함수의 경우에 사용한다. class Calcurator { public static int Add( int .. 2020. 12. 27.
C# mutable type, immutable type § mutable & immutable § ◈ mutable type 특징 - 변수가 생성이 되면, 값을 변경할 수 있다. 1. 스택 메모리에 공간과 값을 생성 2. 재 선언할때마다 값을 덮어씌워서 저장한다. class MyClass { static void Main(string[] args) { int a = 1; a = 3; Console.WriteLine(a); } } ◈ immutable type 특징 - 변수가 생성이 되면, 값을 변경할 수 없다. 1. 스택에 변수 공간 생성 2. 힙 메모리에 값 공간 생성, 참조하는 형식 3. 변수의 값을 변경하면, 힙의 원래 값이 변경되는 것이 아니라 4. 힙에 또 다른 값의 공간을 생성하여 참조한다. class MyClass { static void Mai.. 2020. 12. 27.