728x90
반응형
C# 개발 팁 및 노하우
자주 쓰는 C# 라이브러리 및 유용한 함수 정리
자주 쓰는 C# 라이브러리
라이브러리 | 주요 용도 및 특징 |
Newtonsoft.Json | JSON 데이터 직렬화/역직렬화에 가장 널리 사용. 빠르고 유연하며 API 연동에 필수 |
Entity Framework | 데이터베이스 ORM(Object-Relational Mapping) 프레임워크. SQL 없이 객체로 데이터 접근 가능 |
AutoMapper | 객체 간 데이터 매핑 자동화. DTO ↔ Entity 변환 등 반복 코드 감소 |
Moq | 단위 테스트용 Mock 객체 생성 라이브러리. 테스트 코드 작성시 의존성 대체 |
Serilog | 구조화된 로깅 지원. 다양한 로그 저장소(파일, DB, 콘솔 등)로 출력 가능 |
SignalR | 실시간 웹 통신 지원. 채팅, 알림 등 실시간 기능 구현에 사용 |
Math.NET Numerics | 수치 계산, 통계, 선형대수 등 과학/공학 연산에 특화된 라이브러리 |
CSCore | 오디오 처리 및 재생, 변환 등 멀티미디어 작업에 활용 |
유용한 C# 내장 함수 및 클래스
1. 문자열 처리
- String.Substring(int start, int length): 부분 문자열 추출
- String.ToUpper()/ToLower(): 대소문자 변환
- String.Contains(string): 포함 여부 확인
- String.Format(), $"{변수}": 문자열 포맷팅
2. 배열 및 컬렉션
- Array.Sort(array): 배열 정렬
- Array.IndexOf(array, value): 특정 값의 인덱스 반환
- List<T>.Add(), Remove(), Contains(): 리스트 기본 조작
3. 수학 함수
- Math.Abs(x), Math.Max(a, b), Math.Min(a, b): 절대값, 최대/최소값
- Math.Pow(x, y), Math.Sqrt(x): 제곱, 제곱근
- Math.Sin(x), Math.Cos(x), Math.Log(x): 삼각함수, 로그함수 등
4. 데이터 변환
- Convert.ToInt32(string), Convert.ToDouble(string): 문자열 등 다양한 타입 변환
- int.Parse(string), double.TryParse(string, out double): 변환 및 예외 처리
5. 입출력
- Console.WriteLine(): 콘솔 출력
- Console.ReadLine(): 콘솔 입력
6. 함수형 프로그래밍
- Func<T>, Action<T>: 람다, 델리게이트 활용
- LINQ (.Where(), .Select(), .Any(), .FirstOrDefault()): 컬렉션 데이터 처리
예시 코드
// JSON 직렬화/역직렬화 (Newtonsoft.Json)
using Newtonsoft.Json;
var obj = new { Name = "Rogi", Age = 30 };
string json = JsonConvert.SerializeObject(obj);
var parsed = JsonConvert.DeserializeObject<dynamic>(json);
// 리스트 LINQ 활용
List<int> nums = new List<int> { 1, 2, 3, 4, 5 };
var evenNums = nums.Where(n => n % 2 == 0).ToList();
// 객체 매핑 (AutoMapper)
var config = new MapperConfiguration(cfg => cfg.CreateMap<Source, Destination>());
var mapper = config.CreateMapper();
Destination dest = mapper.Map<Destination>(new Source());
// 수학 함수
double result = Math.Sqrt(25); // 5
정리
- C# 개발에서는 Newtonsoft.Json, Entity Framework, AutoMapper, Moq, Serilog 등 다양한 라이브러리가 널리 활용됩니다
- 문자열, 배열, 수학, 데이터 변환 등 내장 함수와 LINQ, Func/Action 델리게이트를 적극적으로 활용하면 생산성과 코드 품질이 크게 향상됩니다
- 실전 개발에서는 위 라이브러리와 함수들을 적절히 조합해 반복 작업을 줄이고, 유지보수성을 높이는 것이 중요합니다.
728x90
반응형
'C#' 카테고리의 다른 글
C# ASP.NET MVC 고급 기능 실습: Areas로 관리자/사용자 페이지 분리 및 Razor 뷰 엔진 활용법 (2) | 2025.06.17 |
---|---|
초보자를 위한 C# 변수명 규칙과 네이밍 표기법 완벽 정리 (0) | 2025.06.16 |
C# 14 널 조건부 할당: 더 안전하고 간결해진 null 처리법 (6) | 2025.06.11 |
C# 패턴 매칭: 속성·목록 패턴 실전 활용과 예제 (0) | 2025.06.11 |
C# 실전 개발에서 자주 발생하는 오타와 실수, 그리고 코드 리팩토링 전후 비교 (10) | 2025.06.04 |