프로그래밍/C# 54

[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

[C#] CMD 실행 후 원격PC의 tasklist 확인하기

CMD 실행 후 command 명령어를 입력한 결과 값을 받아오는 코드 아래 코드에서 startInfo.Arguments에 CMD의 command를 입력하는데, 입력 시 /C를 입력해줘야한다. static void Main(string[] args) { // Create a ProcessStartInfo object ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C tasklist /s 127.0.0.1 -u administrator -p 123456 | find \"processname\""; // The command you want to execute ..

프로그래밍/C# 2023.03.17