C# 第一个LINQ 查询

497f477c02745becf2403a3428fefb37.png

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

3ffd65a9ee32db51be6d9e9b026d43bb.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 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:

8cb1bad331d762ca8d293a91c344dc78.png

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

8298362807f892ff92d5e0e7e7a81593.png

示例的说明

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

using System.Ling;

f16d171f4f4e3811b74fb58425139513.png

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

c5bc6d688a08aded06a9bf340d25b736.png

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

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

12c636c4cdcbd7bf9f583f47dfc2ad96.png

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

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

5e561735091084178677525477c10110.png

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

4575f77703abe03b3af7e87c2d90bf79.png

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

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

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

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值