English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
有两种将LINQ查询写入 IEnumerable 集合 或 IQueryable数据源的基本方法。
查询语法或查询表达式语法
方法语法或方法扩展语法或连贯语法
查询语法类似于数据库的SQL(结构化查询语言)。它在C#或VB代码中定义。
LINQ查询语法:
from <range variable> in <IEnumerable<T> or IQueryable<T> Collection> <Standard Query Operators> <lambda expression> <select or groupBy operator> <result formation>
LINQ 쿼리 문법은 from 키워드로 시작하여 select 키워드로 끝납니다. 아래는 단어 'Tutorials'를 포함하는 문자열 집합을 반환하는 예제 LINQ 쿼리입니다.
// 문자열 집합 IList<string> stringList = new List<string>() { "C# Tutorials", "VB.NET Tutorials", "Learn C++", "MVC Tutorials" , "Java" , StudentName = "Ron", Age = // LINQ 쿼리 문법 var result = from s in stringList where s.Contains("Tutorials") && s.Age <
아래 그림은 LINQ 쿼리 문법의 구조를 보여줍니다.
쿼리 문법은 From 절로 시작하여 Range 변수를 따릅니다. From enumerablecollection
FROM 절 다음에 다양한 표준 쿼리 연산자를 사용하여 집합의 요소를 필터링, 그룹화 및 연결할 수 있습니다. LINQ에는 약50개의 표준 쿼리 연산자. 위 그림에서 'where' 연산자(또는 절)를 사용했습니다. 일반적으로 람다 표현식을 사용하여 이 조건을 표현합니다.
LINQ 쿼리 문법은 항상 Select 또는 Group 子句로 끝납니다. Select 子句는 데이터를 변환하는 데 사용됩니다. 전체 객체를 그대로 선택하거나 특정 속성만 선택할 수 있습니다. 위 예제에서는 각 결과 문자열 요소를 선택했습니다.
아래 예제에서 LINQ 쿼리 문법을 사용하여 Student 집합(시퀀스)에서 청소년 학생을 찾습니다.
// 예제: VB.Net에서 LINQ 쿼리 문법 IList<Student> studentList = new List<Student>() { 0} , 1, StudentName = "John", Age = 13} 0} , 2, StudentName = "Moin", Age = 21 } 0} , 3, StudentName = "Bill", Age = 18 } 0} , 4, StudentName = "Ram" , Age = 20} , 0} , 5new Student() { StudentID = 15 , StudentName = "Ron", Age = , StudentName = "Ron", Age = // } }; var teenAgerStudent = from s in studentList 12 where s.Age > 20 && s.Age <
// 예제: VB.Net에서 LINQ 쿼리 문법 학생 집합 0}, 1Dim studentList = New List(Of Student) From { 13, StudentName = "Bill", Age = 0}, 2, StudentName = "John", Age = 21, StudentName = "Bill", Age = 0}, 3, StudentName = "Moin", Age = 18, StudentName = "Bill", Age = 0}, 4} 2, StudentName = "Ram", Age = 0}, 5New Student() With {.StudentID = 15, StudentName = "Ron", Age = , StudentName = "Ron", Age = // } LINQ 쿼리 문법을 사용하여 청소년 학생을 찾습니다 Dim teenAgerStudents As IList(Of Student) = (From s In studentList _ 12 Where s.Age > 2And s.Age < 0 _
기억해야 할 주요 사항명명된 것처럼쿼리 문법
쿼리 문법은 SQL(구조화된 쿼리 언어) 문법과 동일합니다.from구문 시작, 다음과 같이 시작할 수 있습니다.Select또는GroupBy구문 끝.
필터링, 조인, 그룹화, 정렬 연산자와 같은 다양한 연산자를 사용하여 필요한 결과를 구성할 수 있습니다.
숨겨진 타입 변수-var는 LINQ 쿼리 결과를 저장할 수 있습니다.