C# 第一个LINQ 查询

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 第一个LINQ 查询相关的知识,希望对你有一定的参考价值。

我们将先介绍一个示例,这个示例使用 LINQ 创建了一个查询,以便在一个简单的内存对象数组中查找一些数据,并输出到控制台上。

试一试:第一个 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 names
               where 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:

按下回车键,结束程序,关闭控制台屏幕。如果使用 Ctrl+F5 组合键(启动时不使用调试功能),就需要按下回车键两次,这会结束程序的运行。

示例的说明

第一步是引用 System.Linq 名称空间,这在创建项目时由 Visual Studio  自动完成:

using System.Ling;

所有的基本底层系统都支持 System.Linq 名称空间中用于 LINQ 的类。如果在Visual 之外部创建 C# 源文件或编辑以前版本创建的项目,就必须手动添加 using System.Linq 指令。

下一步创建一些数据,在本例中就是声明并初始化 names 数组:

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

这些数据很少,很适合用于查询结果比较明显的示例。程序的下一部分是真正的 LINQ 查询语句:

var queryResults =
                 from n in names
                 where n.StartsWith("S") 
                 select n;

这是一个看起来比较古怪的语句。它不像是C#语言,实际上 from.….where….select 语法类似于 SQL 数据库查询语言。但这个语句不是 SQL,而是 C#,在 VS中输入这些代码时,from、where 和 select会突出显示为关键字,这个古怪的语法对编译器而言是完全正确的。

这个程序中的 LINQ 查询语句使用了 LINQ 声明性查询语法:

var queryResults =
   from n in names
   where n.StartsWith("S") 
   select n;

该语句包括4个部分:以 var 开头的结果变量声明,使用查询表达式给该结果变量赋值,查询表达式包含 from 子句、where 子句和 select 子句。

 微信公众号 

DotNet讲堂

以上是关于C# 第一个LINQ 查询的主要内容,如果未能解决你的问题,请参考以下文章

使用 LINQ 查询语法 EF Core C# 的左外连接

C# linq 如何编写子查询?

C# linq 多表in语句查询

c# linq 动态多条件查询语句的写法

C# linq 查询,每个属性的 where 子查询

C#将字典的LINQ查询重构为单个lambda表达式[关闭]