프로그래밍/C# 59

[C#] System.String 클래스에서 많이 사용되는 메서드

메서드설명예제Substring(start, length)부분 문자열 추출"Hello".Substring(1, 3) → "ell"Replace(old, new)문자열 치환"C#".Replace("C#", "Java") → "Java"ToUpper()대문자로 변환"hello".ToUpper() → "HELLO"ToLower()소문자로 변환"HELLO".ToLower() → "hello"Trim()앞뒤 공백 제거" C# ".Trim() → "C#"Contains(value)포함 여부 확인"Hello".Contains("H") → trueStartsWith(value)시작 문자열 검사"Hello".StartsWith("H") → trueEndsWith(value)끝 문자열 검사"Hello".EndsWith("o..

프로그래밍/C# 2025.02.21

[C#] 팩토리 패턴

팩토리 패턴직접 생성자(new 연산자)호출 사용 대신 객체 생성 시 사용됩니다.팩토리 메서드의 반환 유형은 일반적으로 추상 클래스 또는 인터페이스로 선언됩니다.샘플 코드 static void Main(string[] args) { IDBConnector dbConnector = DBFactory.CreateDBConnector("Oracle"); dbConnector.Connection(); dbConnector.Disconnection(); } public class DBFactory { public static IDBConnector CreateDBConnector(string dbType) { return dbType switch {..

프로그래밍/C# 2025.01.03

[C#] C# 10.0 CallerArgumentExpression특성

샘플 코드static void Main(string[] args){ int a = 1; Assert(a > 0); }static void Assert(bool argument1, [CallerArgumentExpression("argument1")] string? paramName = null){ if (argument == false) { Console.WriteLine($"argument = {argument1}, paramName = {paramName} "); }}CallerArgumentExpression 특성이 붙은 인자는 기본값이 있어야 하고 그 특성에 전달된 argument1은 해당 메서드에 전달된 또 다른 매개 변수의 이름이어야 합니다.출력 결..

프로그래밍/C# 2025.01.02

[C#] CPU, DISK I/O 스트레스 테스트

CPU, DISK I/O 사용률을 최대로 사용한 상태에서 APP 테스트가 필요하여 사용하게 된 코드입니다.using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CPU_Disk_PerformanceTEST{ public class CPU_DiskPerformanceTEST { public static void Main(string[] args) { Console.WriteLine(" 1 : Use Cpu 100% \n 2 : Usage DIsk IO"); ..

프로그래밍/C# 2024.10.18

[C#] WPF Func<T>

GPT Q. private readonly IDialogView _selectDefaultRecipeDialogView; private readonly Func _selectDefaultRecipeDialogView;  차이점?1. private readonly IDialogView _selectDefaultRecipeDialogView;타입: IDialogView설명:이 선언은 IDialogView 타입의 객체를 저장하기 위한 필드입니다.선언된 필드는 하나의 IDialogView 객체를 저장하며, 해당 객체는 한 번 설정되면 바뀌지 않습니다(readonly).이 필드는 단일 객체 참조를 보유하고 있으며, 프로그램에서 특정 시점에 이 객체가 초기화됩니다(예: 생성자에서 주입).사용 예시:한 번 할당된 I..

프로그래밍/C# 2024.09.27

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

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

프로그래밍/C# 2023.10.15