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

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

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

1. LINQ 基礎(chǔ)概念

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

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

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

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

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

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

3. 常用的 LINQ 方法

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

// 查詢表達式
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)建新對象
var studentInfo = students.Select(s => new {
    Name = s.Name,
    Age = s.Age
});

其他常用方法

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

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

學生數(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的學生
var olderStudents = students.Where(s => s.Age > 20);
// 2. 按分數(shù)降序排序
var sortedByScore = students.OrderByDescending(s => s.Score);
// 3. 選擇學生姓名和分數(shù)
var nameScores = students.Select(s => new { 
    s.Name, 
    s.Score 
});
// 4. 獲取分數(shù)最高的學生
var topStudent = students.OrderByDescending(s => s.Score).First();
// 5. 計算平均分
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);
// 平方每個數(shù)
var squares = numbers.Select(n => n * n);
// 獲取大于5的數(shù)并排序
var result = numbers.Where(n => n > 5)
                   .OrderBy(n => n);

字符串數(shù)組

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

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

相關(guān)文章

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

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

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

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

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

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

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

    C#編程自學之流程控制語句

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

    淺談C#索引器

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

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

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

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

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

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

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

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

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

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

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

最新評論

沁源县| 白朗县| 简阳市| 武川县| 左云县| 诸城市| 塔城市| 黔东| 尚义县| 基隆市| 扎兰屯市| 三亚市| 民乐县| 双江| 富民县| 永登县| 南华县| 临沧市| 开封县| 临沂市| 伊宁县| 罗甸县| 鹤山市| 永泰县| 辽阳市| 金昌市| 崇明县| 册亨县| 金堂县| 泗阳县| 中西区| 乐清市| 砚山县| 伊金霍洛旗| 普兰县| 北票市| 政和县| 内黄县| 桃园市| 榆树市| 万安县|