LINQ 에 대한 기본적인 설명은 http://whiteat.com/zbxe/54023 를 참조하세요.
사용자 정의 클래스로 LINQ 사용하기
사용자가 정의한 class Person 데이터를 검색하는 방법을 알아보겠습니다.
먼저 name 과 number 멤버를 가진 Person 을 정의 합니다.
class Person { public string name; public int number;
public Person(string _name, int _b) { name = _name; number = _b; } } |
main 에 검색에 사용할 person 데이터를 추가합니다.
List<Person> persons = new List<Person>() { new Person("aa", 1), new Person("dd", 2), new Person("aa", 10) }; |
name 이 "aa"인 것을 골라내는 쿼리를 생성합니다. 이때 쿼리가 실행되지는 않고 쿼리문만 생성하는 것입니다.
즉, 이때 검색이 실행되지 않는 것입니다.~
// 쿼리 생성 (이때 쿼리가 실행되지는 않습니다.) IEnumerable < Person > personQuery = from persons1 in persons where persons1.name == "aa" select persons1; |
쿼리를 실행하여 출력합니다. foreach (Person p in personQuery) 수행시 앞에서 생성한 쿼리 문이 생성되는 것입니다.~
// 쿼리 실행 foreach (Person p in personQuery) { Console.WriteLine("name: "+ p.name+", "+ p.number.ToString()); } |
전체 소스
using System; using System.Collections.Generic; using System.Linq; using System.Text;
// 출처: http://whiteat.com // Person 클래스를 데이터로 갖는 코드에서 // Person 데이터를 LINQ로 검색하는 예제입니다.
namespace WATLINQ1 { class Program { static void Main(string[] args) { // 데이터 선언 List<Person> persons = new List<Person>() { new Person("aa", 1), new Person("dd", 2), new Person("aa", 10) };
// 쿼리 생성 (이때 쿼리가 실행되지는 않습니다.) IEnumerable < Person > personQuery = from persons1 in persons where persons1.name == "aa" select persons1;
// 쿼리 실행 foreach (Person p in personQuery) { Console.WriteLine("name: "+ p.name+", "+ p.number.ToString()); }
} }
class Person { public string name; public int number;
public Person(string _name, int _b) { name = _name; number = _b; } } } |
결과는 아래와 같습니다.
'스터디 > C#.NET:자료' 카테고리의 다른 글
C#, Dictionary (1) | 2012.07.03 |
---|---|
C#, DateTimePicker 사용 (0) | 2012.06.08 |
C#, Form 속에 Form 넣기 (Page형태) (0) | 2012.06.06 |
C#, Form 속에 Form 넣기 (MDI형태) (2) | 2012.06.06 |
Visual Studio와 구글 SVN, SubVersion 연동 (0) | 2012.04.28 |
C#, LINQ, 쿼리문 사용 (0) | 2011.11.13 |
C#, 텍스트박스에서 커서 항상 아래에 있게 (0) | 2011.11.04 |
C#, 파일 경로 관리(계산) (0) | 2011.09.15 |
C#, C 에서의 union 기능 사용하기 (4) | 2011.08.03 |
C#, 타이틀바 잡지 않고 윈도우 폼 이동하기 (0) | 2011.05.17 |