摘要
查詢是一組指令,描述要從給定數(shù)據(jù)源(或源)檢索的數(shù)據(jù)以及返回的數(shù)據(jù)應(yīng)具有的形狀和組織。 查詢與它生成的結(jié)果不同。
從應(yīng)用程序的角度來看,原始源數(shù)據(jù)的特定類型和結(jié)構(gòu)并不重要。 應(yīng)用程序始終將源數(shù)據(jù)視為 IEnumerable<T> 或 IQueryable<T> 集合。
正文
LINQ查詢表達(dá)式包含8個(gè)基本子句,分別為from、select、group、where、orderby、join、let和into
|
|
---|
子 句 | 說 明 |
from | 指定數(shù)據(jù)源和范圍變量 |
select | 指定當(dāng)執(zhí)行查詢時(shí)返回的序列中的元素將具有的類型和形式 |
group | 按照指定的鍵值對(duì)查詢結(jié)果進(jìn)行分組 |
where | 根據(jù)一個(gè)或多個(gè)由邏輯“與”和邏輯“或”運(yùn)算符(&&或 |
orderby | 基于元素類型的默認(rèn)比較器按升序或降序?qū)Σ樵兘Y(jié)果進(jìn)行排序 |
join | 基于兩個(gè)指定匹配條件之間的相等比較來連接兩個(gè)數(shù)據(jù)源 |
let | 引入一個(gè)用于存儲(chǔ)查詢表達(dá)式中的子表達(dá)式結(jié)果的范圍變量 |
into | 提供一個(gè)標(biāo)識(shí)符,它可以充當(dāng)對(duì)join、group或select子句的結(jié)果的引用 |
試一個(gè)例子
初使化
private List<int> scores=new List<int>();
private void init()
{
Random random = new Random();
for (int i = 0; i < 20; i++)
{
scores.Add(random.Next(50, 100));
}
}
查出>80分,用分?jǐn)?shù)倒序
private void btnSearch_Click(object sender, EventArgs e)
{
IEnumerable<int> highScore = from score in scores
where score > 80
orderby score descending
select score;
foreach (var item in highScore)
{
lstAll.Items.Add(item);
}
}
![](/files/attmgn/2024/2/admin20240228113812942_0.jpg)
該文章在 2024/2/28 11:39:04 編輯過