理解LINQ查询 - 按升序排序

Nee*_*eta -3 c# linq

我不明白为什么代码A是正确的,代码B是不正确的:

代码A.

IEnumerable<decimal> loanQuery = 
from amount in loanAmounts
where amount % 2 == 0
orderby amount 
select ascending amount //this line
Run Code Online (Sandbox Code Playgroud)

代码B(不正确)

IEnumerable<decimal> loanQuery = 
from amount in loanAmounts
where amount % 2 == 0
select amount 
orderby ascending amount
Run Code Online (Sandbox Code Playgroud)

由于很多人都回答不正确,我现在发布了正确的代码:

IEnumerable<decimal> loanQuery = 
from amount in loanAmounts
where amount % 2 == 0
orderby amount ascending
select amount
Run Code Online (Sandbox Code Playgroud)

Ole*_*ers 9

LINQ-Query不是SQL查询,因此有自己的语法规则.你必须按照顺序:

FROM     
WHERE      
ORDER BY     
SELECT      
GROUP BY
Run Code Online (Sandbox Code Playgroud)

它与您无法编写SQL语句的原因相同:

SELECT * WHERE i=2 FROM tableName
Run Code Online (Sandbox Code Playgroud)

但必须写

SELECT * FROM tableName WHERE i=2
Run Code Online (Sandbox Code Playgroud)