隐藏

如何使用 ToArray ToDictionary 和 ToList 方法-转换

发布:2021/7/9 16:34:55作者:管理员 来源:本站 浏览次数:911

本主题中的示例演示如何使用 ToArray ToDictionary 和 ToList 方法,通过基于方法的查询语法来查询 AdventureWorks 销售模型 。 这些示例中使用的 AdventureWorks 销售模型从 AdventureWorks 示例数据库中的 Contact、Address、Product、SalesOrderHeader 和 SalesOrderDetail 等表生成。


本主题中的示例使用以下 using / Imports 语句:

C#


using System;

using System.Data;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.Objects;

using System.Globalization;

using System.Data.EntityClient;

using System.Data.SqlClient;

using System.Data.Common;


ToArray

示例


以下示例使用 ToArray 方法以立即将序列转换为数组。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   ObjectSet<Product> products = context.Products;


   Product[] prodArray = (

       from product in products

       orderby product.ListPrice descending

       select product).ToArray();


   Console.WriteLine("Every price from highest to lowest:");

   foreach (Product product in prodArray)

   {

       Console.WriteLine(product.ListPrice);

   }

}


ToDictionary

示例


以下示例使用 ToDictionary 方法以立即将序列和相关的键表达式转换为字典。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   ObjectSet<Product> products = context.Products;


   Dictionary<String, Product> scoreRecordsDict = products.

           ToDictionary(record => record.Name);


   Console.WriteLine("Top Tube's ProductID: {0}",

           scoreRecordsDict["Top Tube"].ProductID);

}


ToList

示例


以下示例使用 ToList 方法以立即将序列转换为 List<T>,其中,T 属于类型 DataRow。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   ObjectSet<Product> products = context.Products;


   List<Product> query =

       (from product in products

        orderby product.Name

        select product).ToList();


   Console.WriteLine("The product list, ordered by product name:");

   foreach (Product product in query)

   {

       Console.WriteLine(product.Name.ToLower(CultureInfo.InvariantCulture));

   }

}


请参阅


   LINQ to Entities 中的查询