延迟求值主动求值
2016-07-12 10:52
344 查看
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Data.Linq;
namespace 延迟求值主动求值
{
internal class Program
{
private static void Main(string[] args)
{
List<int> list = new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//temp1创建一个查询,迭代查询集合的值,不是立即执行
var temp1 = from c in list where c > 5 select c;
//对查询调用ToArray()、ToList()方法会立即执行
var temp2 = (from c in list where c > 5 select c).ToArray();
list[0] = 11;
Console.WriteLine("Temp1:");
foreach (var i in temp1)
{
Console.WriteLine(i);
}
Console.WriteLine("\nTemp2:");
foreach (var i in temp2)
{
Console.WriteLine(i);
}
Console.ReadLine();
// DataContext ctx=new DataContext("数据库连接串");
//Table<Person> persons = ctx.GetTable<Person>();
//#region 方法1:AsEnumerable方法将数据库数据转化为本地数据
//var tem1 = (from p in persons where p.Age > 20 select p).AsEnumerable<Person>();
//var tem2 = (from p in tem1 where p.name.IndexOf('e') > 0 select p);
//#endregion
//#region Linq to SQL
//var tempp1 = from p in persons where p.Age > 20 select p;
//var tempp2 = from p in tempp1 where p.name.IndexOf('e') > 0 select p;
//#endregion
}
//延迟查询性能优化
}
///[Table(Name = "Person")]
class Person
{
[Column]
public string name { get; set; }
[Column]
public int Age { get; set; }
}
}
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Data.Linq;
namespace 延迟求值主动求值
{
internal class Program
{
private static void Main(string[] args)
{
List<int> list = new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//temp1创建一个查询,迭代查询集合的值,不是立即执行
var temp1 = from c in list where c > 5 select c;
//对查询调用ToArray()、ToList()方法会立即执行
var temp2 = (from c in list where c > 5 select c).ToArray();
list[0] = 11;
Console.WriteLine("Temp1:");
foreach (var i in temp1)
{
Console.WriteLine(i);
}
Console.WriteLine("\nTemp2:");
foreach (var i in temp2)
{
Console.WriteLine(i);
}
Console.ReadLine();
// DataContext ctx=new DataContext("数据库连接串");
//Table<Person> persons = ctx.GetTable<Person>();
//#region 方法1:AsEnumerable方法将数据库数据转化为本地数据
//var tem1 = (from p in persons where p.Age > 20 select p).AsEnumerable<Person>();
//var tem2 = (from p in tem1 where p.name.IndexOf('e') > 0 select p);
//#endregion
//#region Linq to SQL
//var tempp1 = from p in persons where p.Age > 20 select p;
//var tempp2 = from p in tempp1 where p.name.IndexOf('e') > 0 select p;
//#endregion
}
//延迟查询性能优化
}
///[Table(Name = "Person")]
class Person
{
[Column]
public string name { get; set; }
[Column]
public int Age { get; set; }
}
}
相关文章推荐
- 一张图读懂嵌入式开发
- $.data()的作用和理解
- intent详解(一)
- 第二章 最大子序列和、二分法查找、辗转相除法
- CodeForces 254C 字典序
- 读书笔记-现代操作系统-3储存管理-3.6有关实现的问题
- Java开发中的23种设计模式详解
- FZU 2082 树链剖分
- 构建微服务:Spring boot 入门篇
- logstash使用
- linux用户相关及/etc/passed,/etc/group,/etc/shadow
- Eclipse中 Linked Resources 的使用
- org.springframework.web.context.ContextLoaderListener
- 文字 AnimatedOpeningType css3的文字3D翻转特效
- 发送彩信需要先通过彩信猫拨号连上GPRS网络
- GSM蜂窝基站定位基本原理浅析
- 手机定位技术简谈
- 基站id转GPS经纬度
- 基站定位 CellTrack
- python 学习第二篇 排序