반응형

C# 36

C# 자동 구현 속성, 필드, 속성

필드(Fields) 필드는 클래스나 구조체 내에서 데이터를 저장하는 데 사용됩니다. 이는 해당 클래스나 구조체의 인스턴스마다 고유한 데이터를 저장하는 데 사용됩니다. 필드는 클래스나 구조체 내에서 직접 접근할 수 있으며, 일반적으로 클래스나 구조체의 상태를 나타내는 데 사용됩니다. class MyClass { private int myField; } 위의 예제에서 myField는 MyClass 클래스의 필드입니다. 속성(Properties) 속성은 클래스나 구조체의 멤버로, 해당 클래스나 구조체의 상태를 나타내거나 조작하기 위해 사용됩니다. 일반적으로 필드에 액세스 하기 위한 메서드의 대안으로 사용되며, 데이터의 유효성 검사나 추가 로직을 쉽게 구현할 수 있습니다. class MyClass { priva..

C# 2024.02.02

DBContext 를 사용하여 Migration 하는 방법

DBContext를 사용하여 데이터베이스 마이그레이션을 수행하는 방법은 Entity Framework Core의 주요 기능 중 하나입니다. 아래는 간단한 단계별 설명으로 DBContext를 사용하여 DB Migration을 수행하는 방법입니다. * Package Manager Console 사용 시 기준 단계 1: Entity Framework Core 설치 프로젝트의 NuGet 패키지 관리자 콘솔에서 다음 명령어를 사용하여 Entity Framework Core 패키지를 설치합니다. Install-Package Microsoft.EntityFrameworkCore.Tools 단계 2: DBContext 클래스 생성 프로젝트에 DBContext 클래스를 만듭니다. 아래는 간단한 예제입니다. using M..

C# 2024.01.25

C# 참조 타입 , 값 타입 (ref, out 사용)

C# 언어는 참조 타입(reference type)과 값 타입(value type)을 갖는 주요 데이터 타입을 제공합니다. 이 두 가지 타입은 변수의 성격과 메모리에 저장되는 방식에서 차이가 있습니다. 이에 대한 이해는 C# 프로그래밍에서 핵심적인 역할을 합니다. 참조 타입 (Reference Type) 대표적인 참조 타입: 클래스(class), 인터페이스(interface), 델리게이트(delegate), 배열(array) 등 저장 위치: *힙(heap) 메모리에 저장 변수: 변수는 힙에 저장된 객체의 참조를 가짐 특징: 여러 변수가 동일한 객체를 참조할 수 있음 전달 방식: 메서드에 전달되면 객체의 참조가 복사되므로, 객체의 속성을 변경하면 원본 객체에 영향을 미침 값 타입 (Value Type) 대..

C# 2024.01.23

힙(Heap) , 스택(Stack) 메모리

힙 (Heap) 메모리 특징 동적 할당: 힙 메모리는 프로그램 실행 중 동적으로 할당되는 메모리의 영역입니다. 개발자가 필요에 따라 메모리를 동적으로 할당하고 해제할 수 있습니다. 전역 변수 및 동적 객체: 힙은 전역 변수와 동적으로 생성된 객체들이 저장되는 곳입니다. 이는 객체의 생명 주기가 프로그램 실행 동안 동적으로 변할 수 있음을 의미합니다. 개발자가 직접 관리: 힙 메모리는 개발자가 직접 할당과 해제를 관리해야 합니다. 메모리 해제는 명시적으로 이루어져야 하며, 이를 신경 쓰지 않으면 메모리 누수의 위험이 있습니다. 생명 주기 동적 할당: 힙 메모리는 개발자의 명시적인 해제 없이는 메모리가 계속 유지됩니다. 개발자가 메모리를 명시적으로 해제하지 않으면 메모리 누수가 발생할 수 있습니다. 프로그램..

C# 2024.01.23

GitHub Copilot Chat 사용 방법(Visual Studio)

전제 조건 - GitHub Copilot 구독 다운로드 - 상위 탭에 있는 확장에서 확장 관리 클릭 - github copilot chat 검색 후 다운로드 - 다운로드 완료 후 껐다 켜야 함 사용 - 상위 탭에서 GitHub Copilot 채팅을 눌러 사용할 수 있다 위와 같이 질문을 하면 코드를 작성해 준다. 아직 사용해보진 않았지만 코딩을 하면서 GPT를 따로 봐야 하는 번거로움이 줄을 거 같아 좋다

C# 2024.01.18

.NET에서 IntPtr 및 네이티브 코드와의 상호 작용

IntPtr이란? IntPtr은. NET 언어에서 관리되지 않는 코드와 상호 작용하기 위한 특별한 데이터 형식으로, 포인터나 핸들과 같은 메모리 주소를 나타냅니다. 주로 P/Invoke와 같은 상황에서 사용되며, 네이티브 코드와의 상호 작용을 가능케 합니다. Array.Clear, Array.Copy, Marshal.Copy Array.Clear: 배열의 특정 범위의 요소를 초기화하는 메서드. 사용 이유: 초기화하지 않은 배열은 예기치 못한 동작을 일으킬 수 있으며, Array.Clear를 사용하여 초기화된 상태로 사용하기 위함. Array.Copy: 배열에서 다른 배열로 요소를 복사하는 메서드. 사용 이유: 데이터 이전이나 복사 과정에서 배열을 정확하게 관리하기 위해 사용. Marshal.Copy: 관..

C# 2024.01.11

C# 동적으로 메서드 호출하기: Reflection과 Type 활용

Reflection 기본 설명 및 구조 종종 메서드의 이름이나 구조가 변경될 수 있는 환경에서 동적으로 메서드를 호출해야 때가 있습니다. Reflection 은 프로그램이 실행 중에 자신의 구조를 검사하고 조작할 수 있는 기능을 제공하는데 예를 들어 특정 유형의 멤버를 찾거나 인스턴스를 동적으로 생성하는 데 사용될 수 있습니다. Reflection 기능을 사용할 필요가 없는 경우는 다음과 같이 일반 객체를 생성해서 사용합니다. BS2Event instance = new BS2Event(); object value = instance.FieldName; 리플렉션을 사용하는 경우는 다음과 같이 사용합니다. Type structureType = typeof(BS2Event); FieldInfo field = ..

C# 2023.12.28

Binary(이진 파일)의 장점 및 사용

Binary 컴퓨터 프로그래밍에서 데이터를 저장하고 전송하는 방식 중 하나인 이진 파일은 많은 이점을 제공합니다. 이 글에서는 이진 파일의 개념, 사용 이유, 장점, 그리고 어떻게 사용되는지에 대해 알아보겠습니다. 1. 이진 파일이란? 이진 파일은 0과 1로 이루어진 이진 데이터를 담고 있는 파일 형식입니다. 이는 텍스트 파일과는 대조적으로 텍스트 형식이 아닌 이진 데이터로 구성되어 있습니다. 2. 사용 이유와 장점 2.1 효율성 이진 파일은 텍스트 파일에 비해 더 적은 공간을 차지하며, 이는 데이터를 더 작은 크기로 저장하고 빠른 입출력을 가능하게 합니다. 특히 대용량 데이터를 다룰 때 효과적입니다. 2.2 속도 이진 파일을 사용하면 데이터 직렬화와 역직렬화 과정에서 생기는 오버헤드가 적습니다. 이는 ..

C# 2023.12.19
반응형