LINQ的一些学习.

来源:互联网 发布:发短信的软件 编辑:程序博客网 时间:2024/05/22 07:51

class IntroToLINQ{            static void Main()    {        // The Three Parts of a LINQ Query:        //  1. Data source.        int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };        // 2. Query creation.        // numQuery is an IEnumerable<int>        var numQuery =            from num in numbers            where (num % 2) == 0            select num;        // 3. Query execution.        foreach (int num in numQuery)        {            Console.Write("{0,1} ", num);        }    }}

查询是一种从数据源检索数据的表达式。查询通常用专门的查询语言来表示。随着时间的推移,人们已经为各种数据源开发了不同的语言;例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。因此,开发人员不得不针对他们必须支持的每种数据源或数据格式而学习新的查询语言。LINQ 通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了这一情况。在 LINQ 查询中,始终会用到对象。可以使用相同的基本编码模式来查询和转换 XML 文档、SQL 数据库、ADO.NET 数据集、.NET 集合中的数据以及对其有 LINQ 提供程序可用的任何其他格式的数据。


// Fill the DataSet.DataSet ds = new DataSet();ds.Locale = CultureInfo.InvariantCulture;FillDataSet(ds);DataTable orders = ds.Tables["SalesOrderHeader"];var query =    from order in orders.AsEnumerable()    where order.Field<bool>("OnlineOrderFlag") == true    select new    {        SalesOrderID = order.Field<int>("SalesOrderID"),        OrderDate = order.Field<DateTime>("OrderDate"),        SalesOrderNumber = order.Field<string>("SalesOrderNumber")    };foreach (var onlineOrder in query){    Console.WriteLine("Order ID: {0} Order date: {1:d} Order number: {2}",        onlineOrder.SalesOrderID,        onlineOrder.OrderDate,        onlineOrder.SalesOrderNumber);}







0 0