<개인공부>/[C#] 18

[C#] 실행 시간 측정, 코드 수행 시간 측정(Stopwatch)

안녕하세요. BlockDMask 입니다. 오늘은 코드에서 수행시간이 궁금할 때, 이 로직은 얼마나 시간이 걸리는지 측정할 때 유용하게 쓸 수 있는 Stopwatch 클래스에 대해서 알아보려 합니다. 1. C# Stopwatch 클래스 설명 및 내부 살펴보기 2. C# Stopwatch 실제 시간 측정 예제 1. C# 코드 수행 시간 측정 Stopwatch 클래스 설명 우리가 개발을 하다보면 실제로 유저에게 걸린 시간을 보여주어야 할 때도 있고, 내가 짠 로직이 얼마나 시간을 소모하는지 등등 시간을 측정해야하는 경우가 많습니다. C#에서는 정말 편하게 시간 측정을 할 수 있는 Stopwatch 클래스가 존재합니다. 우선 Stopwatch 클래스는 System.Diagnostics 네임스페이스 안에 존재합니..

<개인공부>/[C#] 2022.09.25

[C#] const, readonly 설명 사용법과 차이점에 대해서

안녕하세요. BlockDMask 입니다. 오늘은 C# 에서 상수를 나타내는 두 키워드 const, readonly 에 대해서 알아보려고 합니다. 1. const 상수 설명과 예제 2. readonly 상수 설명과 예제 3. const, readonly 차이점 예제 한눈에 보기 1. C# const 상수 설명과 예제 상수가 무엇인지 먼저 간단하게 이야기 하면 "상수는 변하지 않는 값"을 의미합니다. (반대로 변수는 변하는 값을 의미합니다.) const는 컴파일 타임의 상수입니다 컴파일 할때 값이 결정 되는 상수입니다. 아래와 같이 선언과 동시에 초기화가 되어야합니다. 이렇게 초기화된 최초의 값은 프로그램 실행 중간에 변경 할 수 없습니다. public const int a = 10; const string..

<개인공부>/[C#] 2022.09.22

[C#] 타입 조사 Type, 리플렉션(reflection)

안녕하세요. BlockDMask 입니다. 오늘은 C#에서 객체의 타입 정보, 클래스의 타입정보를 얻을 수 있는 방법에 대해서 알아보려합니다. 1. C# 타입조사 (feat. Type 클래스) 2. C# 필드, 메서드, 생성자 조사 (feat. 리플렉션 네임스페이스) 1. 씨샵 타입 조사 (Type 클래스) 씨샵에서는 타입을 나타내기 위한 Type 이라는 클래스가 존재합니다. 이 Type을 이용해서 우리는 객체의 타입, 클래스의 타입등을 받아서 구분할 수 있습니다. 런타임 상태 (프로그램이 시작되서 동작하고 있는 상태, 프로세스 상태)일때 클래스나 클래스의 객체의 타입 정보를 조사하고 싶을 때 아래와 같은 방법을 사용합니다. 1. typeof(클래스) 2. 객체.GetType() 이렇게 두가지 방법을 통해..

<개인공부>/[C#] 2022.09.11

[C#] 인덱서 객체(인스턴스)를 배열 처럼 사용해보자

안녕하세요 BlockDMask입니다. 오늘은 C# indexer에 대해서 알아보려고 합니다. 1. C# indexer 란? (인덱서 사용 전 후 비교) 2. C# indexer 예시 *해당 문서에서는 객체와 인스턴스를 거의 동일시해서 언어를 사용했습니다. 객체 : 클래스의 타입으로 선언 되었을 때 인스턴스 : 실제 객체가 메모리에 할당되어 사용될 때 1. C# 인덱서란? 1-1) 인덱서 사용법 및 설명 우리가 데이터를 편리하게 다루려고 배열을 사용하고 있지 않나요? 배열 arr 이 존재한다고 했을 때 배열의 N번째 요소에 접근하기 위해서 우리는 arr[N] 을 사용하잖아요? (N은 0부터 시작) 이렇게 배열을 통해서 쉽게 접근하는 유용한 문법을 "클래스 내부에 있는 배열에 한 번에 접근하고 싶을 때" 사..

<개인공부>/[C#] 2022.09.04

[C#] Math.Clamp 메서드(함수) 설명 및 예제

안녕하세요. BlockDMask 입니다. 오늘은 C#에 있는 clamp 라는 메서드(함수)를 설명 드리려 합니다. 작업을 하다보면 '특정 값이 해당 범위 내에서 나왔으면 좋겠다'하는 작업 부분이 있을 것 입니다. 그때 사용하는 유용한 함수 입니다. 1. C# Math.Clamp 메서드 설명 2. C# Math.Clamp 메서드 예제 1. C#의 clamp 함수 설명 1-1) Clamp 함수 정의 및 설명 public ststic int Math.Clamp(int value, int min, min max) clamp 함수(메서드)는 어떤 값이 범위 안에 있는지 검사하고 범위 내에 있으면 그 값을 바로 반환합니다. 단, 해당 값이 범위보다 낮을때는 최소값을 범위보다 높을때는 최대 값을 반환해주는 함수입니다..

<개인공부>/[C#] 2022.07.18

[C#] string Trim, TrimEnd, TrimStart에 대해서 (공백제거, 문자제거)

안녕하세요. BlockDMask 입니다. 굉장히 오랜만에 글을 작성하네요.두달동안은 롤 URF, 롤체를 하느라 공부를 안한것 같네요;;; 반성합니다오늘은 C#에서 양끝, 앞쪽, 뒤쪽의 공백을 제거해주는 Trim, TrimStart, TrimEnd 함수(메서드)에 대해서 알아보려고 하는데요,사실 Trim, TrimStart, TrimEnd 메서드는 단순히 "공백" 뿐만 아니라 "우리가 원하는 문자(들)"도 제거 할 수 있습니다.아래 설명에서 자세히 보시죠.>목차1. Trim(), TrimStart(), TrimEnd() 메서드의 정의와 사용법2. 문자열에서 공백을 제거하는 예제3. Trim(Char[]), TrimStart(Char[]), TrimEnd(Char[]) 메서드의 정의와 사용법4. 문자열에서 ..

<개인공부>/[C#] 2019.11.07 (2)

[C#] Nullable type, int? 널러블 타입에 대해서.

안녕하세요. BlockDMask 입니다. 오늘은 C#에 존재하는 특별한 타입인 Nullable Type에 대해서 이야기 해보려합니다.다들 C# 코드를 보다보면 "int 물음표"(=int?) 타입을 가끔씩 보시지 않았나요?아니, int 타입이면 int 만 쓸것이지 뒤에 물음표는 뭐지? 하시는 분들이 있을 것 입니다.C#에서는 Null을 가질 수 없는 타입들에게 특별히 Null을 가질 수 있게 하는 Nullable Type 이라는 개념을 도입했습니다.(java에서도 비슷한게 있다는걸 들었는데.. java는 공부를 안해서..모르겠네요)> 목차1. Nullable Type 이란?2. Nullable Type의 선언 방법, 속성과 메서드, 사용법 및 주의점3. 다양한 Nullable Type 예제4. Nullab..

<개인공부>/[C#] 2019.09.28

[C#] string format, 문자열 보간($)을 이용한 문자열 출력방법

안녕하세요. BlockDMask 입니다.오늘 공부할 내용은 C#의 string 출력 방법입니다. C#에서는 string을 출력하는 여러가지 방법이 존재하는데요,그냥 출력하는 방법, format을 이용한 방법 그리고 문자열 보간을 이용한 방법 이렇게 세가지로 구분 할 수 있습니다.각각 장단점이 있지만, 제가 생각했을떄는 문자열 보간(Interpolation)을 이용하는 방법이 제일 최신에 나온 문법인 만큼, 제일 편리한것 같습니다.하지만, format() 메서드를 이용한 방법이 약간 더 멋있어 보입니다...ㅎㅎ그럼 한번 C# string 출력 방법들에 대해 알아보러 출발하겠습니다. 1. C# string 출력 방법 : 기본 출력 모두 아실듯 합니다.아래와 같이 string을 직접 출력하는 부분에 넣는방법이..

<개인공부>/[C#] 2019.08.19 (1)

[C#] Abs 절대값 함수에 대하여.

안녕하세요. BlockDMask 입니다.오늘은 C#에서 .net에서 손쉽게 절대값을 알 수 있는 방법! Abs 메서드(=함수)에 대해서 한번 알아 보도록 하겠습니다. 딱 하나만 기억하면 됩니다. Math.Abs 메스 쩜 에이비에스.이것만 알면 절대값 공부 다 한 것 입니다. 1. Abs 절대값 메서드의 소속과 정의 ▶ Abs 함수(메서드)의 소속: public static class MathAbs 함수는 System 네임스페이스 안에 있는, Math 클래스에 존재합니다.Math 클래스는 수학관련 (sin, cos, log, 절대값, 값비교 등) 메서드를 모아놓은 클래스 입니다. ▶ Abs 메서드(함수)의 정의여러 타입의 매개변수를 사용할 수 있도록, 오버로드가 되어있습니다.당연하게도 숫자타입의 자료형에 ..

<개인공부>/[C#] 2019.07.10

[C#] 리터럴(Literal)이란?

안녕하세요. BlockDMask 입니다.C# 을 공부하다보면, 리터럴(Literal) 이라는 말이 많이 나오는데요. 그때마다 리터럴이 뭐지? 하면서 그냥 넘어가곤 했습니다.이번시간에는 리터럴이 무엇인지 간단하게 알아보도록 하겠습니다. 리터럴(literal)이란? 위키에서 검색을 해보면 보면 아래와 같이 나옵니다.컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동 소수점 숫자, 문자열, 불린 자료형과 같은 용어를 가지고 있다. 어떤 언어는 열거 타입이나, 배열, 자료형, 객체와 같은 용어도 있다. 리터럴과 대조적으로, 고정된 값을 가질 수 있는 변수나 변경되지 않는 상수가 있다. 다음의 예제와 같이, 리터럴은 변수 초기화에 종..

<개인공부>/[C#] 2019.07.05 (5)