最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# LINQ常用語法及實(shí)際應(yīng)用示例

 更新時(shí)間:2025年10月21日 14:46:04   作者:酥酥禾  
LINQ (Language Integrated Query) 是C#中用于數(shù)據(jù)查詢的語法,可以查詢各種數(shù)據(jù)源(數(shù)組、集合、數(shù)據(jù)庫(kù)等),本文給大家介紹C# LINQ常用語法,感興趣的朋友跟隨小編一起看看吧

1. LINQ 基礎(chǔ)概念

LINQ (Language Integrated Query) 是 C# 中用于數(shù)據(jù)查詢的語法,可以查詢各種數(shù)據(jù)源(數(shù)組、集合、數(shù)據(jù)庫(kù)等)。

2. 基本語法結(jié)構(gòu)

查詢表達(dá)式語法(類似 SQL)

from 變量 in 數(shù)據(jù)源
where 條件
orderby 字段
select 結(jié)果

方法語法(使用 Lambda 表達(dá)式)

數(shù)據(jù)源.方法(參數(shù) => 表達(dá)式)

3. 常用的 LINQ 方法

篩選數(shù)據(jù) - Where

// 查詢表達(dá)式
var result = from num in numbers
             where num > 5
             select num;
// 方法語法
var result = numbers.Where(num => num > 5);

排序 - OrderBy / OrderByDescending

// 升序
var result = numbers.OrderBy(num => num);
// 降序
var result = numbers.OrderByDescending(num => num);
// 多字段排序
var result = students.OrderBy(s => s.Age)
                    .ThenBy(s => s.Name);

選擇數(shù)據(jù) - Select

// 選擇特定字段
var names = students.Select(s => s.Name);
// 創(chuàng)建新對(duì)象
var studentInfo = students.Select(s => new {
    Name = s.Name,
    Age = s.Age
});

其他常用方法

// 取前N個(gè)
var top3 = numbers.Take(3);
// 跳過前N個(gè)
var afterFirst3 = numbers.Skip(3);
// 判斷是否存在
bool hasEven = numbers.Any(n => n % 2 == 0);
// 判斷是否所有元素都滿足條件
bool allPositive = numbers.All(n => n > 0);
// 獲取第一個(gè)元素
var first = numbers.First();
// 獲取最后一個(gè)元素
var last = numbers.Last();
// 計(jì)數(shù)
int count = numbers.Count();
// 求和
int sum = numbers.Sum();
// 最大值
int max = numbers.Max();
// 最小值
int min = numbers.Min();
// 平均值
double average = numbers.Average();

4. 實(shí)際應(yīng)用示例

學(xué)生數(shù)據(jù)示例

class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
    public int Score { get; set; }
}
List<Student> students = new List<Student>
{
    new Student { Name = "Alice", Age = 20, Score = 85 },
    new Student { Name = "Bob", Age = 22, Score = 90 },
    new Student { Name = "Charlie", Age = 19, Score = 78 }
};

常見查詢操作

// 1. 篩選年齡大于20的學(xué)生
var olderStudents = students.Where(s => s.Age > 20);
// 2. 按分?jǐn)?shù)降序排序
var sortedByScore = students.OrderByDescending(s => s.Score);
// 3. 選擇學(xué)生姓名和分?jǐn)?shù)
var nameScores = students.Select(s => new { 
    s.Name, 
    s.Score 
});
// 4. 獲取分?jǐn)?shù)最高的學(xué)生
var topStudent = students.OrderByDescending(s => s.Score).First();
// 5. 計(jì)算平均分
var averageScore = students.Average(s => s.Score);
// 6. 分組查詢
var groupByAge = students.GroupBy(s => s.Age);

5. 在數(shù)組和集合中的應(yīng)用

數(shù)組操作

csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// 獲取偶數(shù)
var evenNumbers = numbers.Where(n => n % 2 == 0);
// 平方每個(gè)數(shù)
var squares = numbers.Select(n => n * n);
// 獲取大于5的數(shù)并排序
var result = numbers.Where(n => n > 5)
                   .OrderBy(n => n);

字符串?dāng)?shù)組

string[] names = { "Alice", "Bob", "Charlie", "David" };
// 查找以A開頭的名字
var aNames = names.Where(name => name.StartsWith("A"));
// 按長(zhǎng)度排序
var sortedByLength = names.OrderBy(name => name.Length);

到此這篇關(guān)于C# LINQ常用語法的文章就介紹到這了,更多相關(guān)C# LINQ語法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#中執(zhí)行SQL的幾種方法講解

    C#中執(zhí)行SQL的幾種方法講解

    這篇文章介紹了C#中執(zhí)行SQL的幾種方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法

    C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法,非常實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C#多線程之線程控制詳解

    C#多線程之線程控制詳解

    這篇文章主要為大家詳細(xì)介紹了C#多線程之線程控制的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#編程自學(xué)之流程控制語句

    C#編程自學(xué)之流程控制語句

    本文主要介紹流程控制語句,主要包括條件控制語句和循環(huán)控制語句的使用。讀者學(xué)習(xí)本文后,應(yīng)該熟練掌握C#控制語句的主要用途和使用方法,了解這些控制語句的區(qū)別。
    2015-10-10
  • 淺談C#索引器

    淺談C#索引器

    這篇文章主要簡(jiǎn)單介紹C#索引器,索引器使你可從語法上方便地創(chuàng)建類、結(jié)構(gòu)或接口,以便客戶端應(yīng)用程序可以像訪問數(shù)組一樣訪問它們。編譯器將生成一個(gè) Item 屬性和適當(dāng)?shù)脑L問器方法,在主要目標(biāo)是封裝內(nèi)部集合或數(shù)組的類型中,常常要實(shí)現(xiàn)索引器,下面我們一起來看看具體內(nèi)容吧
    2021-11-11
  • 分享兩種實(shí)現(xiàn)Winform程序的多語言支持的多種解決方案

    分享兩種實(shí)現(xiàn)Winform程序的多語言支持的多種解決方案

    本篇文章主要介紹了分享兩種實(shí)現(xiàn)Winform程序的多語言支持的多種解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧。
    2017-02-02
  • C#跨窗體操作(引用傳遞) 實(shí)例代碼

    C#跨窗體操作(引用傳遞) 實(shí)例代碼

    現(xiàn)在給大家介紹一種最簡(jiǎn)單的跨窗體操作,WinForm的窗體是一個(gè)類,C#的類是引用類型,那么我們應(yīng)該可以將WinForm窗體類進(jìn)行傳遞,那不就可以進(jìn)行操作了么?
    2013-03-03
  • c# 泛型類型參數(shù)與約束的深入分析

    c# 泛型類型參數(shù)與約束的深入分析

    本篇文章是對(duì)c#中泛型類型參數(shù)與約束進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • c#基礎(chǔ)之?dāng)?shù)組與接口使用示例(遍歷數(shù)組 二維數(shù)組)

    c#基礎(chǔ)之?dāng)?shù)組與接口使用示例(遍歷數(shù)組 二維數(shù)組)

    本文主要介紹了c#基礎(chǔ)知識(shí)中的數(shù)組與接口使用方法,結(jié)合示例,大家一看就明白
    2014-01-01
  • C#中獲取程序路徑的幾種方法及其區(qū)別說明

    C#中獲取程序路徑的幾種方法及其區(qū)別說明

    這篇文章主要介紹了C#中獲取程序路徑的幾種方法及其區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

连平县| 屏山县| 大新县| 临湘市| 化德县| 石台县| 阿拉善盟| 德江县| 民丰县| 沭阳县| 甘德县| 苗栗县| 丘北县| 厦门市| 崇义县| 梁河县| 富川| 罗平县| 淳化县| 蒙城县| 天柱县| 玛沁县| 石柱| 沙田区| 德兴市| 伊通| 顺平县| 岫岩| 武鸣县| 宁阳县| 抚松县| 樟树市| 四会市| 西盟| 新邵县| 新巴尔虎左旗| 巴里| 龙井市| 若尔盖县| 乳源| 阿鲁科尔沁旗|