41. 익명 Type
·
💻 Programming Language/C#
익명 타입(무명 타입, Anonymous Type) : 일반적으로 클래스를 사용하기 위해서는 클래스를 정의한 후에 사용한다. C# 3.0에서는 클래스를 미리 정의하지 않고 사용할 수 있도록 익명타입 기능을 지원하게됨. 익명 타입 형식 new {속성1 = 값, 속성2 = 값}; Ex) var c = new {name = "홍길동", age = 22}; 익명타입 사용 예제 코드 using System.Collections; namespace AnonymousTypeEx { class Program { static void Main(string[] args) { var v = new { name = "녹길동", age = 55 }; Console.WriteLine($"이름 : {v.name} 나이 : {v.a..
40. LINQ 기본 문법
·
💻 Programming Language/C#
using System.Collections; /* [LINQ] LINQ의 질의표현식 = 쿼리 식 (Query Expression) 은 from 절로 시작한다. - from 절 다음에는 데이터 원본이 온다. 데이터 원본은 배열, 컬렉션 등이 올 수 있다. - from in ```csharp int[] aaa = {11,22,33,44,55} var res = from a in aaa where a % 2 != 0 orderby a select a; ``` - where 절은 범위 변수의 조건을 지정하여 그 조건에 해당하는 데이터를 걸러내는 역할을 한다. - orderby절은 where 절에서 걸러낸 데이터를 정렬하는 역할을 한다. - 기본 정렬값은 오름차순 ascending 으로 지정되어 있다. 내림차순..
39. LINQ 사용해보기
·
💻 Programming Language/C#
LINQ, ORM => SQL문과는 다르게 DB로부터 필요한 데이터를 편리하게 가져옴. LINQ(Language Integrated Query) : C# 언어에 통합된 데이터 질의 기능 using System.Collections; namespace LinqEx { class Member { public string name { get; set; } public int age { get; set; } } class Program { static void Main(string[] args) { Member[] ml = { new Member(){name = "홍길동" , age =23}, new Member(){name = "청길동" , age =24}, new Member(){name = "백길동" , ..
38. 람다식(Lambda Expression)
·
💻 Programming Language/C#
람다식 : 익명 메소드를 만들기 위해 사용하는 식 람다식으로 만들어진 익명 메소드를 무명 함수(Anonymous Function) 라고 한다. 람다식 선언 형식 매개변수 목록 => 식 => 연산자를 입력 연산자라고 한다. delegate int AAA(int x, int y); static void Main(string[] args){ AAA aaa = (int x,int y) => x + y; } (int x, int y) => x + y 라는 익명 메소드가 delegate 인 aaa에 전달되고 있는 모습 위의 코드는 다음과 같이 바꿔서 사용 가능 AAA aaa = (x, y) => x + y; delegate의 인자에 타입이 선언되어 있기에 가능 위의 익명 메소드(무명함수)는 기존에 익명 메소드를 사..
37. 델리게이트를 통한 이벤트 처리
·
💻 Programming Language/C#
이벤트 : 특정한 일이 일어났음을 알려주는 기능 C# 에서는 이벤트를 델리게이트(delegate)와 함께 사용한다. event 키워드를 이용하여 표시한다. 이벤트 선언과 사용 순서 1. delegate를 선언 2. 선언된 delegate에 event 키워드를 붙여준다. 3. event handler를 작성한다. 선언된 delegate의 프로토타입과 동일하게 메소드를 작성. => 이때 event handler는 delegate 선언시에 프로토타입과 동일한 메소드형태로 작성한다. 4. 클래스의 인스턴스를 생성하고, 이 객체에 이벤트 핸들러를 등록 5. 이벤트가 발생하면 이벤트 핸들러 호출 using System.Collections; namespace EventEx { delegate void EventHa..