이번 포스팅은 C# Winform에서 DataGirdView 도구에 자동으로 행 번호를 넣는 방법에 대해 알아보겠습니다.| DataGridView 기존 열 생성Form에 DataGridView를 생성하고 Col1, Col2, Col3이라는 열을 생성했습니다.기존에는 데이터를 늘려도 앞에 행 번호가 없는 것을 확인할 수 있습니다. | DataGridView에 행 번호 추가하기 DataGridView 속성에서 이벤트 항목의 RowPostPaint를 설정합니다.RowPostPaint 이벤트는 각 행이 그려질 때마다 호출되는 이벤트입니다.더블 클릭하면 이벤트가 자동으로 만들어지니까 활용해 보세요! 그리고 만들어진 RowPostPaint 이벤트 메서드에 코드를 작성합니다. private void dataGrid..
C#
프로젝트를 진행하거나 레거시 코드를 보다 보면 Action과 event 키워드를 많이 사용하는 것을 볼 수 있습니다. 이번 포스팅은 Action과 event의 개념적 차이와 예시를 통해 정리하겠습니다.| 기본 개념 이해기본적으로 Action과 event는 모두 메서드의 실행을 전달하는 역할입니다.하지만 구조와 사용 방식에 차이가 있습니다. ✅ Action이란?Action은 C#에서 제공하는 내장 델리게이트(Delegate) 타입입니다.메서드를 참조하여 실행할 수 있는 포인터 역할을 하며, 반환값이 없는 메서드(=void 메서드)를 참조합니다. public delegate void Action(T obj); // 기본 정의 (System.Action) Action은 최대 16개의 매개변수를 받을 수 있으..
이번 포스팅은 C#에서 사용하는 CancellationToken과 CancellationTokenSource를하나로 묶어 처리하는 기능인 CreateLinkedTokenSource에 대해 작성하였습니다. 📌 CancellationToken과 CancellationTokenSource란?먼저 앞서 비동기 프로그래밍 게시글에서 작성했던 내용이지만 용어 정리를 먼저 하겠습니다.CancellationTokenSource: 취소 요청을 보낼 수 있는 주체입니다. .Cancel()을 호출하면 이와 연결된 CancellationToken에 취소 신호가 전달됩니다.CancellationToken: 취소 요청을 수신하고 감지하는 객체입니다. Task나 메서드에서 이 토큰을 받아들여야 작업 취소를 감지할 수 있습니다...
이번 포스팅은 기존 프로젝트를 리팩토링 하면서 알게 된Task.ContinueWith 메서드를 분석하기 위해 작성했습니다. | 코드 예제먼저 같은 기능을 async/await 방식과 Task.ContinueWith 방식으로 구현했습니다. | async/await 방식public async Task GetDataAsync(){ var data = await Task.Run(() => { Thread.Sleep(1000); // 긴 작업 return "완료됨"; }); return $"결과: {data}";} | ContinueWith 방식public Task GetDataWithContinueAsync(){ return Task.Run(() => {..
C#을 사용하여 프로젝트를 진행하면 List 컬렉션을 자주 사용합니다.그중 특정 조건에 맞는 첫 번째 요소나 마지막 요소를 가져올 때First, FirstOrDefault, Last, LastOrDefault 같은 LINQ 확장 메서드를 활용할 수 있습니다.이 메서드들은 비슷해 보이지만 동작 방식에서 중요한 차이가 있으며,잘못 사용할 경우 런타임 예외로 이어질 수도 있습니다.이 글에서는 각 메서드의 차이점과 사용 예제를 통해 안전하게 활용하는 방법을 소개하겠습니다. | First vs FirstOrDefault| FirstFirst()는 조건에 맞는 첫 번째 요소를 반환합니다.만약 컬렉션이 비어 있거나 조건에 맞는 요소가 없다면 예외를 발생시킵니다. ex) First() 사용과 예외 발생 var num..
이전 포스팅에 이어 C#에서 정규표현식을 활용하는 방법 중Match와 Result 메서드를 활용하는 방법을 정리했습니다. 이전 포스팅은 정규표현식에 대한 기본 개념을 설명했는데보시면 이번 정리 내용을 이해하기 쉬울 것 같습니다. C# 정규 표현식(Regular Expression) 이해 C# 정규 표현식(Regular Expression) 이해이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념wjunsea.tistory.com| Macth 메서드Regex의 Match 메서드는 특정 문자열에 대해 정규표현식을 적용하고,일치하는 첫 번째 패턴을 찾습니다. 만..
이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념입니다.C#에서는 System.Text.ReqularExpressions 네임스페이스를 통해정규 표현식을 쉽게 사용할 수 있습니다. | 기본 개념 정규 표현식은 문자열에서 특정 패턴을 정의하는 방법입니다.가장 쉬운 예시가 이메일, 전화번호 같은 구조가 정해져 있는 형식에서유용하게 사용할 수 있습니다. 정규 표현식에서 '메타 문자'를 사용해서 복잡한 패턴을 단순하게 표현하는데자주 사용하는 메타 문자는 다음과 같습니다. . : 임의의 한 문자* : 0회 이상 반복+ : 1회 이상 반복? : 0회 또는 1회^ ..
이번 포스팅은 제가 잘 활용하지 못했던Enum 열거형에 대해 작성하였습니다.| Enum?C#에서 Enum은 직접 정의한 상수 집합을 나타내는 데이터 형식입니다. 주로 상수 값을 그룹화하여 사용하며, 특정 값을 의미하는 이름을 만들어 사용합니다글로 읽으면 이해가 안 되는데 바로 예시를 들어볼게요 public enum Season{ Spring, Summer, Autumn = 14, Winter} 위 코드를 보시면 Season 이라는 Enum을 정의했습니다.상수 값을 정의하지 않으면 기본으로 0부터 시작하는 숫자로 매핑되며순차적으로 증가합니다.Spring은 0, Summer은 2라는 값으로 정의됩니다.하지만 Autumn 처럼 14로 명시적으로 정의를 한다면Winter는 그다음 숫자인 1..