반응형

Programing/dotnet core 6

[dotnetcore] system.flag를 활용한 enum(열거형) 의 사용법

열거형 또는 열거형 형식이라고 불리는 enum은 특정 목록에 대한 조합으로 정의 하여 사용하는 형식입니다. 예를 들어 오늘 모 먹지? 라는 질문에 한국요리, 중국요리, 일본요리, 패스트푸드... 등등 위와 같이 비슷한 주제에 대한 목록을 묶음으로 정의 해두고 사용하는 형식입니다. 특히 그 목록이 반복적으로 사용되어 질 때 더욱 효과적으로 사용할 수 있습니다. public enum FoodType { None, Korean, Chinese, Japanese, FastFood, etc } 기본적으로 위와 같이 정의 했을 때 컴파일러는 각 항목을 int 형으로 인식하게 됩니다. 내가 가장 좋아하는 자동차 회사는? 이라는 질문에 답변하는 프로그램을 만든다고 했을 때 다음과 같이 코드를 작성해 보겠습니다. usi..

지역변수 & 지역변수 추론 (var type)

지역변수 지역변수는 메서드 안에서 선언되는 변수를 말합니다. 메서드가 호출되는 동안만 존재하며 메서드가 끝나는 순간 지역 변수에 할당된 메모리도 해제됩니다. 엄밀히 말하자면 닷넷에서는 지역변수라 하더라도 vlaue타입은 바로 해제되지만 reference타입은 가비지 컬렉션에서 해제되기를 기다립니다. int maxNumber = 12345; double weight = 68.2; decimal price = 5.0M; string name = "steve jobs"; char temp = 'Z'; bool isOk = false; 지역변수 추론 var 타입은 지역변수를 선언할 때 사용할 수 있습니다. 컴파일러는 대입 연산자 = 다음에 쓰인 리터럴 값으로 부터 실제 값을 추론합니다. 1. 소수점이 없는 = ..

[dotnetcore] 프로그램의 메모리와 성능 모니터링 하는 법을 통해 알아보는 string vs StringBuilder의 차이점

요즘 이 책을 읽고 있는데요. https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=128563714 크로스 플랫폼 개발을 위한 C# 7과 닷넷 코어 2.0 C# 7의 새로운 기능과 닷넷 코어의 전반적인 내용을 다룬다. 설명을 최소한으로 하고 예제를 따라 해보면서 빠르게 익힐 수 있도록 구성되어 있으며, C#의 기본 문법부터 고급 기능, 닷넷 코어를 활용한 콘솔, 데이... www.aladin.co.kr 프로그램의 메모리 사용량 체크에 관한 코드가 있어서 한번 연습삼아 책을 보고 따라서 만들어 봤습니다. 코드를 보기 전에 다음 2개의 Property를 먼저 알아야 합니다. https://docs.microsoft.com/en-us/dotnet/api/system.di..

[dotnetcore] How to check overflow (산술 오버플로우 검사) checked & unchecked

평소에 에러가 날 것 같은 부분에 대해서 얼마나 신경써서 코딩을 하시나요? 모든 상황에 대해서 예외처리까지 다 끝난 뒤에 빌드 하시나요? 아니면 일단 해보고 어떻게 되는지 상황을 보시나요? 저 같은 경우는 case by case인 것 같습니다. 유니티에서 mobile이나 hololens app을 개발할 때는 빌드하고 배포하고 하는 과정이 워낙 오래 걸려서 최대한 꼼꼼하게 코드를 작성합니다. window 기반의 응용프로그램 개발시에는 바로바로 실행해서 확인해 보는 것 같아요. 산술 오버플로우 같은 경우에 따로 예외가 발생하지 않기 때문에 놓치기 쉬운데요. c#에는 다음과 같은 방법으로 예외를 발생시켜주거나 혹은 무시하는 방법이 있습니다. 일단 키워드의 msdn정의를 먼저 볼까요. checked 산술 오버플..

dotnetcore : try catch finally vs using

Finally 보통 예외 발생 여부의 체크를 위해서 보통 try ~ catch 문을 다음과 같은 형태로 많이 사용합니다. try { somthing your code } catch (Exception e) { Console.WriteLine(e.Message); } 여기서 finally를 추가 적으로 작성해주면 예외 발생 여부에 상관없이 무조건 호출 되게 됩니다. 그래서 파일이나/데이타베이스 같은 unmanaged resource를 사용할 때 finally를 사용하게 되면 예외 발생 여부와 상관없이 리소스 해제를 보장할 수 있습니다. 코드를 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3..

goto문을 활용한 switch문

개발일을 하면서 goto문은 단 한번도 써본적이 없는 것 같습니다. 첫 번째로 goto문은 조심해서 써야한다 라고 들었던 기억이 있었기 때문에 애초에 쓰기를 꺼려했던 것 같습니다. 두 번째로 특별히 goto문을 안쓴다고 해서 프로그램 제작이 불가능한 것은 아니기 때문에 사용할 이유를 못 느꼇습니다. 세 번째로 일반적으로 코딩이라는 것이 평소 습관에 굉장히 많은 영향을 받는데 평소에 사용을 안하다 보니 습관화 되버린 것 같습니다. 요즘 제가 닷넷코어 책을 읽고 있는데요. goto문에 대해서 다시한번 살펴보니 잘 사용한다면 switch 문에서 유용하게 써먹을 수 있을 것 같다는 생각이 들어서 연습을 해보게 되었습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20..

반응형