728x90

Language/C# 18

[C#] try ~ catch ~ finally, throw

1. try ~ catch ~ finally - try문은 반드시 최소한 1개의 catch 문 혹은 finally 문 코드 블록은 존재해야 한다. - 복수개의 catch 문을 작성할 경우 작은 범위의 예외에서 큰 범위로 작성해야 한다. - .NET Framework 2.0 부터 StackOverflowException 은 catch 블록에서 처리할 수 없고 바로 프로세스가 종료 된다. try { int number = Int32.Parse(data); Console.WriteLine("number : {0}", number); } catch (ArgumentNullException ex) //입력 인자가 없을 경우 { Console.WriteLine("ArgumentNullException 처리 : {0..

Language/C# 2020.12.23

[C#] 박싱(Boxing)과 언박싱(Unboxing)

1. 박싱(Boxing) - 값 형식(int 등)을 참조 형식(object)로 변환 하는 것을 말함. - 암시적으로 이루어져야 한다. - 힙(Heap) 영역에 저장 2. 언박싱(Unboxing) - 참조 형식을 값 형식으로 변환 하는 것을 말함. - 명시적으로 이루어져야 한다. - 스택(Stack) 영역에 저장 > 잦은 박싱, 언박싱 작업은 메모리 복사가 계속 일어나 성능에 나쁜 영향을 미침.

Language/C# 2020.12.23

[C#] const 와 readonly

1. const와 readonly - 상수를 표현할 경우 C#에서는 const 와 readonly 라는 예약어를 통해 설정 가능하다. - 공통점 > 모두 초기화 이후에는 값을 변경할 수 없다. - 차이점 > const 는 선언할 때만 초기화 할 수 있다 > readonly 는 선언할 때 또는 생성자에서 초기화 될 수 있다. - const 는 컴파일 타임 상수 readonly 는 런타임 상수로 불리기도 한다. using System; namespace ConsoleApp { class Program { public class Product { public const int ConstPrice = 1000; public readonly int ReadOnlyPrice; public Product() { th..

Language/C# 2020.12.23

[C#, 공통] 변수 및 함수 표기 방식

1. Pascal casing - ClickEvent 와 같이 각 의미있는 단어를 대문자로 시작한다. - 보통 상수, 네임스페이스, 클래스, 메서드 와 같은 이름을 지을 때 사용한다. 2. Camel casing - 첫 문자는 소문자, 나머지 의미 있는 단어들은 대문자로 시작. - 일반적으로 변수 선언시 많이 사용한다. 3. 헝가리안 표기법 - 버튼의 경우 btnSave 와 같이 특정 접두사(e.g btn)를 붙여 변수명을 만든다. - 일반적으로 컨트롤 명과 같이 특별한 구분이 필요할 때 사용하게 되며, 내장 형식(int 등) 선언에서는 피한다. 4. C#의 3가지 변수 선언 방법 1) 명시적 형식 사용 - int number = 7; - List members = new List(); 2) - C# 3..

Language/C# 2020.12.23

[C#] struct, class의 참조 형식

- C# 4.0 Tutorial을 보던 중 재미있는 부분이 있어 업로드한다. 1. Struct를 사용한 참조 - 아래 예제 코드에서 emp1의 값을 변경하여도 emp2의 값이 변경되지 않음. using System; namespace ConsoleApp { class Program { public struct Employee { public int BirthYear; public string Name; } static void Main(string[] args) { Employee emp1 = new Employee(); emp1.Name = "마타기"; emp1.BirthYear = 1994; Employee emp2 = emp1; Console.WriteLine("emp1.BirthYear : {0}..

Language/C# 2020.12.23

[C#] 기본 문법 및 C++과 비교시 차이

1. Main 코드 (가장 기초적으로 만들어지는 코드 전문) - 개인적으로는 Java를 먼저 배우고 C#을 배우는 입장으로서 Java와 매우 유사하다고 생각한다. - #include -> using using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } 2. Console.WriteLine() - printf()와 std::cout 를 섞어놓은 출력 방..

Language/C# 2020.12.17
반응형