안녕하세요 인터럽트입니다.C# 개발 시에 LINQ 자주 사용하시나요?저는 자주 사용하는 메서드들만 익숙하게 사용하고 나머지는 기억도 하지 못하는 제 자신을 위해서이번 기회에 LINQ메서드들 정리해서 필요시에 찾아보기 위해 포스팅을 작성하려고 합니다.1. 필터링(Filtering)Where컬렉션에서 특정 조건을 만족하는 요소만 선택var numbers = new List {1, 2, 3, 4, 5};var evenNumbers = numbers.Where(w => w % 2 == 0);//결과 : {2, 4} FindAll (List 전용)List에서만 사용가능하며, Where와 동일한 기능 수행 Distinct컬렉션에서 중복을 제거한다.var numbers = new List { 1, 2, 2, 3, 3..
안녕하세요 인터럽트입니다.오늘은 제가 사이드프로젝트를 하면서 습득한 내용을 정리해 보려고 하는데요바로 C#에서 Model 객체를 json으로 변환 및 직렬화하여 json파일로 작성하고 저장하는 방법입니다. 저는 WPF로 응용프로그램을 만들다가 사용자별로 Setting값을 저장해야 하는데DB를 사용할 수 없는 구조여서 실행경로에 별도의 Setting 파일을 생성하는 방법을 사용하려고 했어요Copy프로젝트라 기존 프로젝트에서는 xml로 저장하고 있었으나 저는 저만의 방법으로 하기 위해 json을 사용하도록 결정하고 방법을 찾아봤습니다.Model Classpublic class ConfigItem{ public string Code { get; set; } public string Property ..
안녕하세요 인터럽트입니다.저번 포스팅에서는 delegate의 정의 및 기본 사용법에 대해서 알아보았습니다.여기까지만 해도 충분한 거 아니야?라고 생각하시겠지만 아직 한 단계 더 남았는데요이번 글에서는 .NET에서 기본적으로 제공하는 delegate의 종류에 대해서 알아보겠습니다.1. ActionAction은 반환값이 없는 delegate입니다. 간단한 작업을 실행하거나 이벤트 처리에 자주 사용됩니다.단 Action은 최대 16개의 매개변수를 받을 수 있습니다.//정의public delegate void Action(T obj);//예제using System;class Program{ static void PrintMessage(string message) { Console.Writ..
안녕하세요 인터럽트입니다.여러분들은 Delegate에 대해서 아시나요?정확한 개념은 모르지만 업무 중에 사용하고 있는 나 자신을 보면서 자괴감이 들었어요이번 기회에 정확한 개념을 정리하려고 합니다.Delegate란?메서드에 대한 참조를 캡슐화 하는 형식이다.C/C++의 함수 포인터와 비슷한 개념이지만 C# 델리게이트는 타입안전을 보장한다.델리게이트는 특정 시점에 실행될 메서드를 동적으로 지정할 수 있다.특징타입안정을 제공한다.메서드의 매개변수 및 반환형이 델리게이트와 일치해야 한다.여러 메서드를 하나의 델리게이트에 연결할 수 있다.델리게이트를 사용하는 이유동적 메서드 호출어떤 메서드가 실행될지 컴파일 시점에서 알 수 없을 때 런타임에 메서드를 동적으로 연결하여 호출할 수 있다.코드 재사용 및 유연성 증가..
안녕하세요 인터럽트입니다.오늘은 WPF에서 지난번 포스팅에서 설명한 CollectionView의 응용버전입니다.CollectionView에서 Filter기능에 대해 알고 계신가요?CollectionViewSource를 활용하여 데이터 바인딩 효율적으로 표시하기이전 포스팅을 먼저 선행해 주세요~기본적으로 CollectionView는 단일 Filter를 지원하고 있습니다.그런데 저는 여러개의 Property에 동시에 Filter를 걸고 싶었어요이럴 경우 어떻게 처리해야 하는지에 대해 이번 포스팅에서 정리하겠습니다.1. Delegate를 이용한 필터관리CollectionView.Filter는 Predicate 델리게이트를 받으므로,이를 확장하여 여러 조건을 조합하고 조건을 추가하거나 제거할 수 있습니다.// ..
안녕하세요 인터럽트 입니다.오늘은 제가 일을하다가 겪은 오류내용 중 공유하고 싶은 내용을 적어보려고 합니다. 작업내용DataGrid에 TemplateColumn으로 CheckBox를 추가해당 CheckBox Check, UnCheck 이벤트 발생 시 Command를 실행하도록 EventTrigger 추가EventTrigger에 Command, CommandParameter 연결위와 같은 작업을 진행했습니다. 저는 CheckBox를 직접 Check, UnCheck 해서 이벤트를 발생시키는 방법IsCheck Property에 바인딩 된 값을 변경 시에 Check 이벤트를 발생시키는 방법두가지를 모두 사용하기 위해 EventTrigger를 사용했습니다.IsChecked="{Binding CheckValuePr..