프로그래밍/C# 48

[C#] 게터,세터,프로퍼티

게터(Getter), 세터(Setter), 그리고 프로퍼티(Property)은 C#에서 데이터 캡슐화 및 정보 은폐를 지원하는 중요한 개념입니다. 이들은 클래스 내의 멤버 변수(필드)를 조작하고 접근하는 방법을 제어하는 데 사용됩니다. 게터(Getter): 게터는 클래스 내의 프라이빗 필드(private field)의 값을 읽어오는 역할을 합니다. 게터 메서드는 "get" 키워드를 사용하여 정의하며 값을 반환하는 코드 블록으로 이루어집니다. 게터를 사용하여 외부 코드에서 필드 값을 읽을 수 있습니다. private int myField; public int GetMyField() { return myField; } 세터(Setter): 세터는 클래스 내의 프라이빗 필드의 값을 변경하는 역할을 합니다. 세..

프로그래밍/C# 2023.10.15

[C#] IEnumerable

IEnumerable IEnumerable 인터페이스는 .NET에서 컬렉션을 나타내는 데 사용되는 인터페이스로, 컬렉션을 반복(iterate)하고 열거할 수 있는 기능을 제공합니다. 컬렉션의 열거를 위해 일반적으로 사용되는 인터페이스입니다. 지연된 실행 (Lazy Execution): IEnumerable은 지연된 실행을 지원합니다. 이는 컬렉션의 요소가 실제로 필요한 순간에만 생성되고 처리되는 것을 의미합니다. 따라서 모든 데이터를 미리 메모리에 로드할 필요가 없으며, 필요한 요소만 처리하여 효율성을 높일 수 있습니다. 메모리 관리 및 성능 최적화: 대용량 데이터셋의 경우, 모든 데이터를 한 번에 메모리에 로드하는 것은 메모리 부족 문제와 성능 저하를 초래할 수 있습니다. IEnumerable을 사용하..

프로그래밍/C# 2023.08.24

[C#] Parallel.For() 과 CancellationToken

아래는 Parallel.For()를 사용할 때 ParallelOptions와 CancellationToken을 함께 사용하는 예시 코드입니다. using System; using System.Threading; using System.Threading.Tasks; class Program { static void Main() { // CancellationTokenSource를 생성하여 CancellationToken을 만듭니다. var cancellationTokenSource = new CancellationTokenSource(); var cancellationToken = cancellationTokenSource.Token; // ParallelOptions를 생성하고 CancellationTo..

프로그래밍/C# 2023.05.25

[C#] 객체 동일 여부 판단하기 - ReferenceEquals()

만약 num1, num2 라는 객체 2개가 있다. 두 객체 값이 100 이라는 값으로 동일한 경우에 값을 비교하고 싶은게 아니라, 객체 그 자체가 동일한지 여부를 판단하고자 한다면 ReferenceEquals()를 사용하면 됩니다. 샘플코드 public static void Main(string[] args) { object a = 100; object b = 100; Console.WriteLine(); Console.WriteLine($"Equal() 호출: a == a ? {a.Equals(a)}"); Console.WriteLine($"Equal() 호출: a == b ? {a.Equals(b)}"); Console.WriteLine($"ReferenceEquals() 호출: a == a ? {R..

프로그래밍/C# 2023.05.10

[C#] Transaction

Transaction Transaction은 데이터베이스 작업 중에 실행되는 일련의 작업을 의미합니다. 일반적으로 트랜잭션은 "모두 실행" 또는 "모두 취소"와 같은 두 가지 결과 중 하나를 가져옵니다. 이를 통해 데이터베이스 작업 중간에 문제가 발생하면 이전 상태로 롤백할 수 있습니다. TransactionScope 클래스 C#에서 TransactionScope 클래스 사용 예시를 확인해봅시다. TransactionScope 클래스는 .NET 프레임워크에서 제공하는 트랜잭션 관리 기능을 제공합니다. 이 클래스는 여러 데이터 소스를 사용하는 트랜잭션 처리를 위해 사용할 수 있습니다. TransactionScope 클래스를 사용하면 여러 데이터 소스에서 실행되는 작업을 하나의 트랜잭션으로 묶을 수 있습니다..

프로그래밍/C# 2023.03.29