A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 祐掱緣 中级黑马   /  2013-10-10 16:28  /  1318 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Linq to object
术语“LINQ to Objects”是指直接对任意 IEnumerable 或 IEnumerable<T> 集合使用 LINQ 查询,无需使用中间 LINQ 提供程序或 API,如 LINQ to SQL 或 LINQ to XML。 可以使用 LINQ 来查询任何可枚举的集合,如 List<T>、Array 或 Dictionary<TKey, TValue>。 该集合可以是用户定义的集合,也可以是 .NET Framework API 返回的集合。
从根本上说,LINQ to Objects 表示一种新的处理集合的方法。 采用旧方法,您必须编写指定如何从集合检索数据的复杂的 foreach 循环。 而采用 LINQ 方法,您只需编写描述要检索的内容的声明性代码。
另外,与传统的 foreach 循环相比,LINQ 查询具有三大优势:
1.    它们更简明、更易读,尤其在筛选多个条件时。
2.    它们使用最少的应用程序代码提供强大的筛选、排序和分组功能。
3.    无需修改或只需做很小的修改即可将它们移植到其他数据源。
通常,您要对数据执行的操作越复杂,就越能体会到 LINQ 相较于传统迭代技术的优势。







Linq to xaml
声明方法前要加上下面的声明,目前是猜测。
[Category("Grouping Operators")]
[Description("This sample uses group by to partition a list of products by category.")]
语法:toarray创建数组,tolist创建泛型集合。
var customerList = (
                from e in XDocument.Load("customers.xml").
                          Root.Elements("customer")
                select new Customer
                {
                    CustomerID = (string)e.Element("id"),
                    CompanyName = (string)e.Element("name"),
                    Address = (string)e.Element("address"),
                    City = (string)e.Element("city"),
                    Region = (string)e.Element("region"),
                    PostalCode = (string)e.Element("postalcode"),
                    Country = (string)e.Element("country"),
                    Phone = (string)e.Element("phone"),
                    Fax = (string)e.Element("fax"),
                    Orders = (
                        from o in e.Elements("orders").Elements("order")
                        select new Order
                        {
                            OrderID = (int)o.Element("id"),
                            OrderDate = (DateTime)o.Element("orderdate"),
                            Total = (decimal)o.Element("total")
                        })
                        .ToArray()
                }
                ).ToList();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马