C#

· C#/Winform
이번 포스팅은 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#
이번 포스팅은 C#에서 사용하는 CancellationToken과 CancellationTokenSource를하나로 묶어 처리하는 기능인 CreateLinkedTokenSource에 대해 작성하였습니다. 📌 CancellationToken과 CancellationTokenSource란?먼저 앞서 비동기 프로그래밍 게시글에서 작성했던 내용이지만 용어 정리를 먼저 하겠습니다.CancellationTokenSource: 취소 요청을 보낼 수 있는 주체입니다. .Cancel()을 호출하면 이와 연결된 CancellationToken에 취소 신호가 전달됩니다.CancellationToken: 취소 요청을 수신하고 감지하는 객체입니다. Task나 메서드에서 이 토큰을 받아들여야 작업 취소를 감지할 수 있습니다...
· C#
이번 포스팅은 기존 프로젝트를 리팩토링 하면서 알게 된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#
C#을 사용하여 프로젝트를 진행하면 List 컬렉션을 자주 사용합니다.그중 특정 조건에 맞는 첫 번째 요소나 마지막 요소를 가져올 때First, FirstOrDefault, Last, LastOrDefault 같은 LINQ 확장 메서드를 활용할 수 있습니다.이 메서드들은 비슷해 보이지만 동작 방식에서 중요한 차이가 있으며,잘못 사용할 경우 런타임 예외로 이어질 수도 있습니다.이 글에서는 각 메서드의 차이점과 사용 예제를 통해 안전하게 활용하는 방법을 소개하겠습니다. | First vs FirstOrDefault| FirstFirst()는 조건에 맞는 첫 번째 요소를 반환합니다.만약 컬렉션이 비어 있거나 조건에 맞는 요소가 없다면 예외를 발생시킵니다. ex) First() 사용과 예외 발생 var num..
· C#
이전 포스팅에 이어 C#에서 정규표현식을 활용하는 방법 중Match와 Result 메서드를 활용하는 방법을 정리했습니다. 이전 포스팅은 정규표현식에 대한 기본 개념을 설명했는데보시면 이번 정리 내용을 이해하기 쉬울 것 같습니다. C# 정규 표현식(Regular Expression) 이해 C# 정규 표현식(Regular Expression) 이해이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념wjunsea.tistory.com| Macth 메서드Regex의 Match 메서드는 특정 문자열에 대해 정규표현식을 적용하고,일치하는 첫 번째 패턴을 찾습니다. 만..
· C#
이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념입니다.C#에서는 System.Text.ReqularExpressions 네임스페이스를 통해정규 표현식을 쉽게 사용할 수 있습니다. | 기본 개념 정규 표현식은 문자열에서 특정 패턴을 정의하는 방법입니다.가장 쉬운 예시가 이메일, 전화번호 같은 구조가 정해져 있는 형식에서유용하게 사용할 수 있습니다. 정규 표현식에서 '메타 문자'를 사용해서 복잡한 패턴을 단순하게 표현하는데자주 사용하는 메타 문자는 다음과 같습니다. . : 임의의 한 문자* : 0회 이상 반복+ : 1회 이상 반복? : 0회 또는 1회^ ..
· C#
이번 포스팅은 제가 잘 활용하지 못했던Enum 열거형에 대해 작성하였습니다.| Enum?C#에서 Enum은 직접 정의한 상수 집합을 나타내는 데이터 형식입니다. 주로 상수 값을 그룹화하여 사용하며, 특정 값을 의미하는 이름을 만들어 사용합니다글로 읽으면 이해가 안 되는데 바로 예시를 들어볼게요 public enum Season{ Spring, Summer, Autumn = 14, Winter} 위 코드를 보시면 Season 이라는 Enum을 정의했습니다.상수 값을 정의하지 않으면 기본으로 0부터 시작하는 숫자로 매핑되며순차적으로 증가합니다.Spring은 0, Summer은 2라는 값으로 정의됩니다.하지만 Autumn 처럼 14로 명시적으로 정의를 한다면Winter는 그다음 숫자인 1..
우준세
'C#' 카테고리의 글 목록