cs 3

[C#] 기본 자료형 정리, 참조 정리, 인코딩 정리

기본 자료형 C 자료형과 다른 점1 옛날옛적 c에서는 char가 아스키 코드에 있는 문자와 짧은 숫자를 모두 표현했기 때문에, 0255의 범위를 가졌었다. 따라서, 이때 char는 아스키에 대응되는 숫자였다. 그 숫자를 아스키에 맞는 문자로 표현하기 위해 %c라는 서식문자를 넣었던 것이다. 하지만 C#으로 오면서, byte와 char이 분리되고, byte도 0255의 범위를 갖습니다. char는 이제 순수하게 문자만 표시하고 이에 대응되는 숫자는 byte가 담당하게 됩니다. 따라서 byte는 음수를 갖지 못할 이유가 사라지고(아스키 코드에 음수에 매핑되는게 없었으니...)signed byte, 즉 부호가 있는 byte 자료형인 sbyte가 탄생했다 (sbyte는 -128~127의 범위를 갖는다.) 또한,..

개발, 기초/C# 2024.02.22

[C#] Dispose와 소멸자 차이

DISPOSE Dispose 메서드 구현은 주로 관리되지 않는 리소스를 해제하는 데 사용됩니다. IDisposable 구현인 인스턴스 멤버를 사용하는 경우에는 Dispose 호출을 계단식 배열하는 것이 일반적입니다. 예를 들어 할당된 메모리를 해제하거나, 컬렉션에 추가된 항목을 제거하거나, 획득한 잠금 해제를 알리는 등 Dispose를 구현하는 추가적인 이유가 있습니다. .NET 가비지 수집기는 관리되지 않는 메모리를 할당하거나 해제하지 않습니다. Dispose 패턴이라고도 하는 개체 삭제 패턴에서는 개체의 수명에 순서를 적용합니다. Dispose 패턴은 IDisposable 인터페이스를 구현하는 개체에 사용되며, 파일 및 파이프 핸들, 레지스트리 핸들, 대기 핸들 또는 관리되지 않는 메모리 블록에 대한..

개발, 기초/C# 2024.02.12

[C#] Struct에서의 NEW 키워드

Struct에서의 NEW 이미 존재하는 인스턴스를 참조하지 않는이상 참조타입으로 선언된 변수를 사용하기 위해선 반드시 할당을 해야한다. SampleClass SC = new SampleClass(100); 보통 이런식으로 new 를 통해 운영체제에 의해 공간을 할당받아 생성되는 인스턴스는 힙(Heap)영역에 올라가게 된다. 반대로 struct 타입으로 선언된 변수는 일반 변수처럼 선언하되, 멤버변수들을 초기화 하기만 하면 new 를 통한 할당없이도 사용할 수 있습니다. ( 일반 변수들과 사용하는 것이 비슷하다.) //아래와 같이 사용할 경우 멤버를 모두 초기화해주기 전에는 사용할 수 없다. 상당히 귀찮다. SampleStruct SS; SS.a = 1; SS.b = 2; SS.c = 3; SS.Test(..

개발, 기초/C# 2024.02.03