C# 语言集成查询 LINQ(Language Integrated Query)

提示:如有错误,请不吝指出


注意

注意:

  • 1、在下面示例中的new{}表示的是返回两个或以上数据
  • 2、Select(cust=>cust) 表示返回整行,而不是只投射特定的列
  • 3、无论使用LINQ扩展方法还是查询操作符,当这些在执行的时候,应用程序并不真正构建集合;只有在遍历集合时才会对集合进行枚举,即最终获取到的始终是最新数据
    • =推迟求值策略= 例如,从定义集合到遍历集合,再次期间如果更改address中的数据,就会看到最新的数据。
  • 4、使用ToList方法构建静态List对象以包含数据的缓存拷贝
    • 在定义LINQ查询是强制求值,生成一个静态的缓存的集合,该集合是原始数据的拷贝,如果原始集合中的数据发生改变,该拷贝中的数据不会发生改变
      * eg:…from a in address.ToList() select a.CompanyName;

一、首先声明两个示例集合

			var customers = new[]
            {
   
                new {
   CustomerID=1,FirstName="Kinm",LastName="AberCrim",CompanyName="Alpine"},
                new {
   CustomerID=2,FirstName="Jeff",LastName="Hay",CompanyName="Coho"},
                new {
   CustomerID=3,FirstName="Charlie",LastName="Herb",CompanyName="House"}
            };
            var address = new[] {
   
                new {
   CompanyName="Alpine",City="Berne",Country="Land"},
                new {
   CompanyName="A",City="B",Country="Land"},
                new {
   CompanyName="Coho",City="San",Country="US"},
                new {
   CompanyName="Trey",City="Microsoft",Country="London"}
            };

二、LINQ多种操作方法

1.Select方法返回基于某具体类型的可枚举集合(指定的所有数据)

Select其实是IEnumerable类的扩展方法,IEnumerable类System.Linq命名空间;在该命名空间中可以查看Enumerable.Select方法定义

IEnumerable<string> customerFirstNames = customers.Select(cust => cust.FirstName);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值