c# 22

.gitignore 파일 만들기

1. 자신의 개발환경에 맞는 .gitignore 파일을 생성해주는 사이트가 있다.https://www.toptal.com/developers/gitignore gitignore.ioCreate useful .gitignore files for your projectwww.toptal.com 2. 이곳의 검색란에 콤마(,) 를 구분자로 하여 프로젝트의 개발환경을 입력하면 .girignore 내용이 생성된다. 3. 이 파일을 복사하여 Git 연동 시에 사용하자 필자는 Windows, VisualStudio, Csharp 를 검색어로 사용했다. 아래는 생성된 파일이다. # Created by https://www.toptal.com/developers/gitignore/api/windows,visualstud..

WPF/SimpleDashBoard 2024.08.15

[C#] 구조체 (struct)

클래스보다 상대적으로 가벼운 특징이 있다. 클래스와 같이 메서드, 프로퍼티 등 거의 비슷하 구조를 가지고 있다. 상속 불가 인터페이스 구현 가능 using System; namespace HelloWorld { class Program { // 구조체 선언 struct ClassRoom // 명명규칙 : 대문자로 시작 { //public string name; // Error : null 불가 public string? name = null; public int age; public bool woman; // 생성자 public ClassRoom(string? name, int age, bool woman) { this.name = name; // 선언된 필드는 반드시 초기화되어야 함 this.age =..

Language/C# 2023.09.13

[C#] Value Type & Reference Type

Value Type System.ValueType 을 상속 string 을 제외한 기본 Type enum struct 특징: 상속될 수 없음 상대적으로 간단한 데이터 값을 저장하는 데 사용 (struct 는 예외적으로 큰 메모리를 차지하기도 한다.) Call by Value 형태 -> Copy 예) 다른 변수에 값 대입시 기존 변수값을 다른 변수 메모리에 대입 Referenct Type System.Array 을 상속 string Class 로 생성되어 인스턴스화된 객체 타입 특징: Class 를 정의하여 만듦 -> 상속 가능 상대적으로 복잡한 데이터와 기능에 사용 Call by Reference 형태 -> Heap 상의 객체에 대한 reference 를 전달 예) 새로운 인스턴스 생성하여 그 인스턴스가..

Language/C# 2023.09.13

[C#] 예외 처리

1. try ~ catch 문의 다양한 형태의 예 using System; namespace HelloWorld { class Program { static void Main(string[] args) { int a = 15; decimal b = 88m; float c = 20.3f; // [1] try { a = Convert.ToInt32(b / (decimal)c); } catch { Console.WriteLine("모든 예외를 잡고 싶을 때"); } // [2] try { a = Convert.ToInt32(b / (decimal)c); } catch (Exception e) // 모든 예외의 최상위 예외 클래스 { // 혹은 다른 Exception 종류 (특정 예외를 잡고 싶을 때) Cons..

Language/C# 2023.09.03

[C#] yield 키워드

yield 키워드는 IEnumerable 화 함께 쓰인다. yield 키워드로 리턴되는 값들을 선언하면, 위에서부터 순차대로 값을 리턴한다. 만일 yield 키워드로 리턴하는 함수가 한 번 호출되면 첫번째 리턴값을 리턴한다. 다을 foreach 문에서 해당 함수를 순차대로 호출해 보았다. class Program { static void Main(string[] args) { foreach (int num in getNumber()) { Console.WriteLine(num); } } static IEnumerable getNumber() { yield return 10; yield return 20; yield return 30; } } 결과는 다음과 같다. 10 20 30 yield break; 문..

Language/C# 2023.09.03

[C#] 기초 문법 - 반복문 (while, for, foreach) & 무한루프

반복문의 기본 개념은 '조건을 만족하는 동안(조건의 비교 연산이 참인 동안) 하위 블럭을 수행하라. 조건을 만족하지 않으면 하위 블럭을 수행하지 말고 다음 코드라인을 읽어라.'이다. 1. while while 문의 구조는 아래와 같다. while (/*조건*/) // 조건은 참이어야 하며, 조건이 거짓이 되는 순간 while문을 빠져나간다. { // 실행할 구문 } int age = 5; int num = 0; while (age > num) { Console.WriteLine(num); num++; } Console.WriteLine("End of the Code."); 출력 결과 : 0 // num = num + 1; 1 // num++ 에 의해 1 증가 2 // age > num 을 만족하므로 출력..

Language/C# 2023.09.01

[C#] 기초 문법 - 조건문 (if, switch, 삼항 연산자)

1. if문 if 문은 괄호() 안의 조건이 참(True)인지 거짓(False)인지 비교하여 판단하는 조건문이다. 만일 조건이 참이면 코드 블럭{} 안의 코드가 실행되고, 그렇지 않으면 코드블럭{} 밖으로 빠져나가 다음 코드라인을 읽는다. 앞선 포스팅에서 '=' 기호를 변수에 값을 할당할 때 사용했다. 값이 서로 같은지 비교할 때는 '==' 기호를 사용하여 비교한다. string name = "Regina"; if (name == "Regina") { Console.WriteLine(name == "Regina"); } // 출력 결과 : True 값이 서로 다른지 비교할 때는 '!=' 기호를 사용하여 비교한다. 만일 출력문에서 '==' 이 아닌 '!=' 를 사용한다면 False가 출력될 것이다. str..

Language/C# 2023.08.31

[C#] Console의 값 읽기 - ReadLine() & Read()

1. Console.ReadLine(); 리턴값 : string 한 줄씩 읽음 // 입력 : CSharp Console.WriteLine(Console.ReadLine()); // 출력 : CSharp // 입력 : 123 Console.WriteLine(Convert.ToInt32(Console.ReadLine())); // 출력 : 123 2. Console.Read(); 리턴값 : char 한 문자씩 읽음 // 입력 : 123 Console.WriteLine(Convert.ToChar(Console.Read())); // 출력 : 1 // 입력 : CSharp Console.WriteLine(Convert.ToChar(Console.Read())); // 출력 : C

Language/C# 2023.08.31
728x90