欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

LINQ投影操作符Select與限制操作符where介紹

 更新時(shí)間:2022年02月28日 10:50:07   作者:.NET開發(fā)菜鳥  
這篇文章介紹了LINQ投影操作符Select與限制操作符where,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、什么是LINQ?它可以用來做什么

語言集成查詢(Language Integrated Query,LINQ)是一系列標(biāo)準(zhǔn)查詢操作符的集合,這些操作符幾乎對每一種數(shù)據(jù)源的導(dǎo)航、過濾和執(zhí)行操作都提供了底層的基本查詢架構(gòu)。

LINQ可查詢的數(shù)據(jù)源包括XML(可使用LINQ TO XML)、關(guān)系數(shù)據(jù)(使用LINQ TO SQL,及先前的DLINQ)、ADO.NET DataSet(使用LINQ TO DataSet),以及內(nèi)存中的數(shù)據(jù)。

二、投影操作符:Select

Select操作符對單個(gè)序列或集合中的值進(jìn)行投影。所謂投影,比如有一個(gè)數(shù)據(jù)集,想用LINQ語法去操作數(shù)據(jù)集,會(huì)寫一個(gè)LINQ的表達(dá)式,表達(dá)式會(huì)把數(shù)據(jù)集合中的數(shù)

據(jù)簡單的投影到一個(gè)變量中,并且可以通過這個(gè)變量去篩選數(shù)據(jù)。

示例:

Employees類

public class Employees
{
        public Guid Id { get; set; }
        public string Name { get; set; }
        public int Sex { get; set; }
        public string CompanyName { get; set; }
}
class Program
{
        static void Main(string[] args)
        {
            //使用集合初始化器給集合賦值
            List<Employees> emp = new List<Employees> 
            { 
               new Employees(){Id=Guid.NewGuid(),Name="張三",Sex=0,CompanyName="xx技術(shù)有限公司"},
               new Employees(){Id=Guid.NewGuid(),Name="李四",Sex=0,CompanyName="xx培訓(xùn)"},
               new Employees(){Id=Guid.NewGuid(),Name="王五",Sex=0,CompanyName="xx集團(tuán)"}
            };

            //查詢語法:不能省略最后的select
            var query = (from p in emp where p.Name.StartsWith("王") select p).FirstOrDefault();

            //查詢方法:設(shè)計(jì)到Lambda表達(dá)式,全部返回 可以省略最后的select 延遲加載
            var query1 = emp.Where(p => p.Name.StartsWith("王")).Select(e => new { e.Name,e.CompanyName});

            //查詢方法:返回匿名類
            var query2 = emp.Where(p => p.Name.StartsWith("王")).Select(p => p);
            foreach (var item in query1)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadKey();
        }
}

三、限制操作符where

where是限制操作符,它將過濾標(biāo)準(zhǔn)應(yīng)用在序列上,按照提供的邏輯對序列中的數(shù)據(jù)進(jìn)行過濾。

where操作符不啟動(dòng)查詢的執(zhí)行。當(dāng)開始對序列進(jìn)行遍歷時(shí)才開始執(zhí)行,此時(shí)過濾條件將被應(yīng)用到查詢中。

示例:

//where限制操作符:使用延遲加載
var q = teachers.SelectMany(p => p.Students).Where(s => s.Score < 60).Select(a => new { name = a.Name });
foreach (var item in q)
{
     Console.WriteLine("姓名:"+item.name);
}

到此這篇關(guān)于LINQ投影操作符Select與限制操作符where的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解C# 虛方法virtual

    詳解C# 虛方法virtual

    這篇文章主要介紹了C# 虛方法virtual的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C# Base 64 編碼/解碼實(shí)現(xiàn)代碼

    C# Base 64 編碼/解碼實(shí)現(xiàn)代碼

    這篇文章主要介紹了C# Base 64 編碼/解碼實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2016-02-02
  • c# linq的差集,并集,交集,去重代碼(分享)

    c# linq的差集,并集,交集,去重代碼(分享)

    下面小編就為大家分享一篇c# linq的差集,并集,交集,去重代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • C# Guid.NewGuid獲得隨機(jī)數(shù)

    C# Guid.NewGuid獲得隨機(jī)數(shù)

    根據(jù)GUID獲得種子,然后獲得隨機(jī)數(shù),這個(gè)是完全隨機(jī)的
    2013-04-04
  • C#拼接SQL語句 用ROW_NUMBER實(shí)現(xiàn)的高效分頁排序

    C#拼接SQL語句 用ROW_NUMBER實(shí)現(xiàn)的高效分頁排序

    C#拼接SQL語句,SQL Server 2005+,多行多列大數(shù)據(jù)量情況下,使用ROW_NUMBER實(shí)現(xiàn)的高效分頁排序
    2012-05-05
  • c# 操作word寫入特殊字符的實(shí)例

    c# 操作word寫入特殊字符的實(shí)例

    這篇文章主要介紹了c# 操作word寫入特殊字符的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#版Tesseract庫的使用技巧

    C#版Tesseract庫的使用技巧

    本文給大家分享C#版Tesseract庫的使用技巧,在這里大家需要注意一下tesseract的識別語言包要自己下載后包含到項(xiàng)目里面,并設(shè)置為始終復(fù)制,或者直接把這個(gè)文件包放到運(yùn)行程序目錄(bin\debug)下的,具體實(shí)現(xiàn)代碼跟隨小編一起學(xué)習(xí)下吧
    2021-05-05
  • c#配置文件中自定義塊節(jié)點(diǎn)的方法

    c#配置文件中自定義塊節(jié)點(diǎn)的方法

    在.netcore中我們非常方便獲取配置文件節(jié)點(diǎn)參數(shù),但是在非.netcore下一般 我們是使用中方法,本文我們將給大家詳細(xì)介紹c#配置文件中自定義塊節(jié)點(diǎn)的方法,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于C#基礎(chǔ)知識回顧--反射(一)

    關(guān)于C#基礎(chǔ)知識回顧--反射(一)

    其實(shí)說白了,反射就是能知道我們未知類型的類型信息這么一個(gè)東西.沒什么神秘可講!反射的核心是System.Type。System.Type包含了很多屬性和方法,使用這些屬性和方法可以在運(yùn)行時(shí)得到類型信息
    2013-07-07
  • c# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡單實(shí)例

    c# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡單實(shí)例

    下面小編就為大家?guī)硪黄猚# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論