C# 第一個LINQ 查詢

727de8e0f2a4b0537af9dcb4f3be139d.png

我們將先介紹一個示例,這個示例使用 LINQ 創建了一個查詢,以便在一個簡單的內存對象數組中查找一些數據,并輸出到控制臺上。

9a75a56613598310dc9180e99924f375.png

試一試:第一個 LINQ 程序:按照下面的步驟在 Visual Studio 中創建示例:?

using System;
using System.Collections.Generic;
using?System.Linq;?
using?System.Text;
using System.Threading.Text;

(3)在 Program.cs 的 Main() 方法中添加如下代碼:

static void Main(string[] args) 
{ string[]?names?=?{?"Alonso",??"Zheng",??"Smith",??"Jones",  "Smythe",
"Small",??"Ruiz",??"Hsieh",??"Jorgenson",??"Ilyich",??"Singh",??"Samba",  "Fatimah"?};var queryResults =from n in nameswhere?n.StartsWith("S")?select?n;Console.WriteLine("Names?beginning?with?S:");foreach?(var?item?in?queryResults)?{?Console.WriteLine(item);?}Console.Write("Program finished, press Enter/Return to continue:"); Console.ReadLine();
}

(4) 編譯并運行程序(按下 F5 鍵即可開始調試),列表中的名稱以 S 開頭,按照它們在數組中的聲明順序排列,如下所示。

Names beginning with S: 
Smith  
Smythe 
Small 
Singh 
Samba
Program finished, press Enter/Return to continue:

88f8bcf6d3cae2859b7135b88cd789ab.png

按下回車鍵,結束程序,關閉控制臺屏幕。如果使用 Ctrl+F5 組合鍵(啟動時不使用調試功能),就需要按下回車鍵兩次,這會結束程序的運行。

bde05a5fe85f52523ac7ba73ffc45eb0.png

示例的說明

第一步是引用 System.Linq 名稱空間,這在創建項目時由 Visual Studio? 自動完成:

using System.Ling;

05d984656f36054345798646d1525a1c.png

所有的基本底層系統都支持 System.Linq 名稱空間中用于 LINQ 的類。如果在Visual 之外部創建 C# 源文件或編輯以前版本創建的項目,就必須手動添加 using System.Linq 指令。

3c92ba8b5262ec006fcbed5be7a5a841.png

下一步創建一些數據,在本例中就是聲明并初始化 names 數組:

string[]?names?=?{?"Alonso",??"Zheng",??"Smith",??"Jones",??"Smythe",  "Small",
"Ruiz",??"Hsieh",??"Jorgenson",??"Ilyich",??"Singh",??"Samba",  "Fatimah"?};

5dee935d8d8ea3b266422dbbf0265496.png

這些數據很少,很適合用于查詢結果比較明顯的示例。程序的下一部分是真正的 LINQ 查詢語句:

var queryResults =from?n?in?nameswhere?n.StartsWith("S")?select?n;

9604cd37b3fb5c45302639f3d23ed0d9.png

這是一個看起來比較古怪的語句。它不像是C#語言,實際上 from.….where….select 語法類似于 SQL 數據庫查詢語言。但這個語句不是 SQL,而是 C#,在 VS中輸入這些代碼時,from、where 和 select會突出顯示為關鍵字,這個古怪的語法對編譯器而言是完全正確的。

a954e491386940edb281dc3d12b244d3.png

這個程序中的 LINQ 查詢語句使用了 LINQ 聲明性查詢語法:

var queryResults =from n in nameswhere?n.StartsWith("S")?select n;

該語句包括4個部分:以 var 開頭的結果變量聲明,使用查詢表達式給該結果變量賦值,查詢表達式包含 from 子句、where 子句和 select 子句。

?微信公眾號?

DotNet講堂

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286960.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

佳鑫諾計算機模擬卷答案,微機原理練習冊答案佳鑫諾).docx

PAGE 17計算機系統1.簡述名詞的概念:微處理器、微型計算機、微型計算機系統。答:(1)微處理器:微處理器(Microprocessor)簡稱μP或MP,或CPU。CPU是采用大規模和超大規模集成電路技術將算術邏輯部件ALU(Arithmetic Logic…

1小時賺300塊,不打代碼幫人做個吃雞網頁 [IVX實戰第3篇]

作者簡介 作者名:1_bit 簡介:CSDN博客專家,2020年博客之星TOP5,藍橋簽約作者。15-16年曾在網上直播,帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息,迷茫的你會找到答案。 實戰目錄 1…

ArcGIS10.6中,在3D分析工具中創建視線之后,怎么將其刪除?

如下圖所示, 為3D分析工具條: 在3D分析中創建的線,例如做剖面圖是插入的線,該怎樣刪除呢? 如下圖所示。 刪除方法是,先使用如下選擇工具,然后雙擊線條,再按delete鍵。

Android之解決底部4個TextView占比例大小不一致問題

1、問題 底部4個TextView切換多語言了,占據的比例大小不一致。 2、原因 雖然在每個LinearLayout里面寫了 android:layout_weight"1" 但是我還加了 android:layout_width"wrap_content" 感覺被自己傻哭了 3、 解決辦法 把 android:layo…

RPC的原理總結

一.RPC的引入 早期單機時代,一臺電腦上運行多個進程,大家各干各的,老死不相往來。假如A進程需要一個畫圖的功能,B進程也需要一個畫圖的功能,程序員就必須為兩個進程都寫一個畫圖的功能。這不是整人么?于是就…

怎樣實現MathType中帶箭頭向量的輸入

2019獨角獸企業重金招聘Python工程師標準>>> 一個向量可以有多種記法,如記作粗體的字母(a),或在字母頂上加一小箭頭→,或在字母下加波浪線~。如果給定向量的起點(A)和終點&#xff0…

1小時零基礎賺一千,教你完成圖書管理系統,不用打代碼絕對學得會![完整全站教學 IVX 實戰第四篇]

作者簡介 作者名:1_bit 簡介:CSDN博客專家,2020年博客之星TOP5,藍橋簽約作者。15-16年曾在網上直播,帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息,迷茫的你會找到答案。 必看提示 項…

在河北當中學老師用不用考計算機,河北省教育廳出臺新方案?師范生當教師也需考證...

保存到相冊師范生當教師也需考證啦省教育廳公布方案,暑期后入學師范生要當老師都得拿教師資格證今年暑期后入學的師范類專業學生,申請教師資格需參加統一的教師資格考試。昨日,省教育廳官網公布《河北省中小學和幼兒園教師資格考試改革試點工…

案例:無人船測量點位數據+ArcGIS 10.6軟件生成三維水下地形的兩種方法

通常情況下,采用無人船進行水下地形測量,得到的是離散的,具有點號、日期、時間、東坐標(E)、北坐標(N)、水面高程、水下高程和水深等信息的點位數據,該數據一般由航帶點位數據加水岸線組成,如下圖所示: 原始點位數據格式如下: 下面講解在ArcGIS軟件中生成三維水下地…

Flutter之Align

1、Align介紹 Align的作為一個參數,設置子child的對齊方式,比如居中,左上,右下等多個對齊方向 2、部分源碼和功能 const Align({Key key,this.alignment Alignment.center,this.widthFactor,this.heightFactor,Widget child,}) …

聊一聊容器生命周期

容器生命周期上圖已經非常清晰地闡述了容器的生命周期&#xff0c;接下來就簡單介紹下相關操作指令。創建容器docker create --name <container-name> <image-name>創建容器并等待運行。運行容器docker run -d --name <container-name> <image-name>其…

Android SQLite (一) 數據庫簡介

大家好&#xff0c;今天來介紹一下SQLite的相關知識&#xff0c;并結合Java實現對SQLite數據庫的操作。 SQLite是D.Richard Hipp用C語言編寫的開源嵌入式數據庫引擎。它支持大多數的SQL92標準&#xff0c;并且可以在所有主要的操作系統上運行。 SQLite由以下幾個部分組成&#…

poj3685 二分套二分

F - 二分二分Crawling in process... Crawling failed Time Limit:6000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit StatusDescription Given a N N matrix A, whose element in the i-th row and j-th column Aij is an number that equals i2 …

租號顯示服務器爆滿怎么辦,租號器環境異常怎么解決

玩網絡游戲出現環境異常&#xff0c;怎么辦…網絡連接上但上不了網的原因以及相應的解決辦法。一、檢查是否密碼錯誤輸入連接密碼的時候&#xff0c;如果密碼比較長有可能會輸錯密碼&#xff0c;所以建議大家再輸入一次密碼。如果有可能&#xff0c;直接使用復制粘貼的方式輸入…

零基礎“復刻”經典飛機大戰小程序游戲【一篇文使用 IVX 輕松實戰5】

作者簡介 作者名&#xff1a;1_bit 簡介&#xff1a;CSDN博客專家&#xff0c;2020年博客之星TOP5&#xff0c;藍橋簽約作者。15-16年曾在網上直播&#xff0c;帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息&#xff0c;迷茫的你會找到答案。 必看提示 項…

【無人機組裝與調試】第一章 概述

【無人機組裝與調試】系列課程全集&#xff1a; 第一章 概述 第二章 關于新西達30A電調說明書的問題 第三章 舵機安裝與調整 第四章 F450四軸裝機實例-選擇機型、需要的器材工具材料 第五章 無人機遙控器 第六章 電調、電池、電機 1.1 什么是無人機&#xff1f; 無人駕駛飛機是…

Flutter之Center

1、Center介紹 Center將子控件放在其內部中心&#xff0c;里面只能放一個child&#xff0c;但是child里面可以放Container Center繼承勒Align&#xff0c;然后Align默認是center. 2、測試代碼 測試1、 overrideWidget build(BuildContext context) {return MaterialApp(title…

【Cisco Packet Tracer】綜合實踐題-校園網仿真

本題的目的&#xff1a; 理論與實踐結合&#xff1a;Cisco Packet Tracer是一個網絡模擬軟件&#xff0c;通過模擬真實的網絡環境&#xff0c;可以讓學生在實際操作中加深對理論知識的理解和掌握。問題解決能力&#xff1a;綜合實驗題可以考察學生分析和解決問題的能力。在實驗…

C# =符號的使用

前言&#xff1a;-. 讀作 goes to&#xff0c;是C#3.0的新內容&#xff1b;-. 字段定義時設置{ get; set; }屬性的作用&#xff1a;主要是為了外部訪問的安全性封裝字段&#xff0c;get set你自己可以設置限制條件&#xff0c;尤其是wpf綁定時&#xff0c;沒有get set屬性&…

【無人機組裝與調試】第二章 關于新西達30A電調說明書的問題

【無人機組裝與調試】系列課程全集: 第一章 概述 第二章 關于新西達30A電調說明書的問題 第三章 舵機安裝與調整 第四章 F450四軸裝機實例-選擇機型、需要的器材工具材料 第五章 無人機遙控器 第六章 電調、電池、電機 極限使用:   持續電流30A,瞬間35A ,40A持續10秒。 外…