您的位置:首页 > 其它

延迟求值主动求值

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; }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: