안녕하세요 인터럽트입니다.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..
안녕하세요 인터럽트입니다.여러분들은 Delegate에 대해서 아시나요?정확한 개념은 모르지만 업무 중에 사용하고 있는 나 자신을 보면서 자괴감이 들었어요이번 기회에 정확한 개념을 정리하려고 합니다.Delegate란?메서드에 대한 참조를 캡슐화 하는 형식이다.C/C++의 함수 포인터와 비슷한 개념이지만 C# 델리게이트는 타입안전을 보장한다.델리게이트는 특정 시점에 실행될 메서드를 동적으로 지정할 수 있다.특징타입안정을 제공한다.메서드의 매개변수 및 반환형이 델리게이트와 일치해야 한다.여러 메서드를 하나의 델리게이트에 연결할 수 있다.델리게이트를 사용하는 이유동적 메서드 호출어떤 메서드가 실행될지 컴파일 시점에서 알 수 없을 때 런타임에 메서드를 동적으로 연결하여 호출할 수 있다.코드 재사용 및 유연성 증가..
안녕하세요 인터럽트입니다. C#에서는 (Key, Value)를 사용해서 데이터를 저장하는 구조가 2가지 존재합니다.해시테이블(Hashtable)과 딕셔너리(Dictionary)인데요이 둘은 비슷한 기능을 제공하지만 중요한 차이점이 있습니다.이번 포스팅에서는 이 둘의 특징과 차이점에 대해 정리해보려고 합니다. 해시테이블(Hashtable)이란?Non-Generic : 모든 타입의 데이터를 저장할 수 있다.Object 타입 : 키와 값 모두 Object 타입으로 저장된다.박싱/언박싱 : 값 타입 데이터를 저장하거나 검색할 때 박싱과 언박싱이 발생한다.Hashtable hashtable = new Hashtable();hashtable.Add("key1", 100);hashtable.Add("key2", "..
안녕하세요 인터럽트입니다. 이번 포스팅에서는 WPF프레임워크에서 데이터 바인딩 시 정말 편리한 기능인 CollectionViewSource에 대해서 알아보려고 합니다. CollectionViewSource란? WPF에서 데이터를 효율적으로 관리하고 UI에 표시하기 위한 클래스이다. 데이터 소스와 UI 간의 중간 역할을 수행하여 데이터를 필터링, 정렬, 그룹화하고 변경 사항을 감지하여 자동으로 UI를 업데이트한다. 주요 기능 필터링(Filtering) 데이터를 특정 조건에 따라 필터링하여 원하는 항목만 표시할 수 있다. 정렬(Sorting) 데이터를 정렬하여 사용자에게 정렬된 형태로 제공할 수 있다. 그룹화(Grouping) 데이터를 그룹화하여 카테고리별로 표시할 수 있다. 데이터변경감지(Detecting..
안녕하세요 인터럽트입니다. 이번 포스팅에서는 C#에서 정말 유용한 기능인 LINQ안에서도 SKIP & TAKE에 대해서 알아보고 어떻게 사용하는지 응용방법에 대해서 적어보려고 합니다. 개념정리 SKIP메서드 SKIP메서드는 데이터 컬렉션에서 처음 몇 개의 요소를 건너뛰고 나머지 요소를 반환하는데 사용됩니다. 이는 데이터의 특정 부분을 제외하고 싶을 때 유용하고 예를들어 페이징 된 데이터를 처리할 때 많이 사용됩니다. 사용방법 var result = collections.skip(3); 위의 코드는 collections객체에서 처음 3개의 요소를 건너뛰고 나머지 요소를 반환합니다. 물론 skip메서드는 collection뿐만 아니라 배열, ArrayList, List등에서도 사용이 가능합니다. TAKE메서..
안녕하세요 인터럽트입니다. 이번에는 개발하면서 정말 많이 듣지만 초급일때는 그 개념을 이해하는데 쉽지않았던 정적 / 비정적 멤버에 대해 정리를 해보려고 합니다. static을 사용해서 정적멤버를 사용할 수 있다는건 알고있었지만 정적멤버가 왜 필요한지, 어떨때 사용하는것인지 몰랐었는데 이번에 공부하면서 다시 이해를 하고 정리했습니다. 그럼 어떤 차이가 있는지 알아볼까요?? 개념 비정적멤버란?(Instance멤버) 클래스의 인스턴스에 속하는 멤버를 의미합니다. 비정적 멤버는 클래스를 사용하는 각 인스턴스마다 독릭적으로 존재하며, 주로 객체 지향 프로그래밍에서 객체를 표현하고 정의할 때 사용합니다. 정적멤버란?(static멤버) 정적멤버란 클래스의 인스턴스가 아닌 클래스 자체에 속하는 멤버들을 말합니다. 정적..