Szkolenie
Moduł
Wykonywanie operacji na tablicach przy użyciu metod pomocników w języku C# - Training
Użyj metod pomocnika języka C#, aby wykonywać operacje odwrotne, zmiany rozmiaru, dzielenia i sprzężenia na tablicach.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
W przykładach w tym temacie pokazano, jak używać metod ToArray, ToDictionaryi ToList, aby natychmiast wykonać wyrażenie zapytania.
Metoda FillDataSet
używana w tych przykładach jest określona w „Ładowanie danych do zestawu danych”.
W przykładach w tym temacie użyto tabel Contact, Address, Product, SalesOrderHeader i SalesOrderDetail w przykładowej bazie danych AdventureWorks.
W tym temacie przykłady używają następujących instrukcji using
/Imports
:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.Linq;
using System.Windows.Forms;
Option Explicit On
Imports System.Linq
Imports System.Linq.Expressions
Imports System.Collections.Generic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Globalization
Aby uzyskać więcej informacji, zobacz Jak utworzyć projekt LINQ to DataSet w programie Visual Studio.
W tym przykładzie użyto metody ToArray, aby natychmiast ocenić sekwencję w tablicy.
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable products = ds.Tables["Product"];
IEnumerable<DataRow> productsArray = products.AsEnumerable().ToArray();
IEnumerable<DataRow> query =
from product in productsArray
orderby product.Field<Decimal>("ListPrice") descending
select product;
Console.WriteLine("Every price from highest to lowest:");
foreach (DataRow product in query)
{
Console.WriteLine(product.Field<Decimal>("ListPrice"));
}
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim products As DataTable = ds.Tables("Product")
Dim productsArray = products.AsEnumerable().ToArray()
Dim query = _
From product In productsArray _
Select product _
Order By product.Field(Of Decimal)("ListPrice") Descending
Console.WriteLine("Every price From highest to lowest:")
For Each product In query
Console.WriteLine(product.Field(Of Decimal)("ListPrice"))
Next
W tym przykładzie użyto metody ToDictionary, aby natychmiast ocenić sekwencję i powiązane wyrażenie klucza w słowniku.
// Fill the DataSet.
DataSet ds = new DataSet
{
Locale = CultureInfo.InvariantCulture
};
FillDataSet(ds);
DataTable products = ds.Tables["Product"];
var scoreRecordsDict =
products.AsEnumerable()
.Where(rec=>rec.Field<string>("Name") !=null)
.ToDictionary(record => record.Field<string>("Name"));
Console.WriteLine($"Top Tube's ProductID: {scoreRecordsDict["Top Tube"]["ProductID"]}");
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim products As DataTable = ds.Tables("Product")
Dim scoreRecordsDict = products.AsEnumerable(). _
ToDictionary(Function(record) record.Field(Of String)("Name"))
Console.WriteLine("Top Tube's ProductID: {0}", _
scoreRecordsDict("Top Tube")("ProductID"))
W tym przykładzie użyto metody ToList, aby natychmiast ocenić sekwencję do List<T>, gdzie T
jest typu DataRow.
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable products = ds.Tables["Product"];
IEnumerable<DataRow> productList = products.AsEnumerable().ToList();
IEnumerable<DataRow> query =
from product in productList
orderby product.Field<string>("Name")
select product;
Console.WriteLine("The product list, ordered by product name:");
foreach (DataRow product in query)
{
Console.WriteLine(product.Field<string>("Name").ToLower(CultureInfo.InvariantCulture));
}
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim products As DataTable = ds.Tables("Product")
Dim productList = products.AsEnumerable().ToList()
Dim query = _
From product In productList _
Select product _
Order By product.Field(Of String)("Name")
Console.WriteLine("The sorted name list:")
For Each product In query
Console.WriteLine(product.Field(Of String)("Name").ToLower(CultureInfo.InvariantCulture))
Next
Szkolenie
Moduł
Wykonywanie operacji na tablicach przy użyciu metod pomocników w języku C# - Training
Użyj metod pomocnika języka C#, aby wykonywać operacje odwrotne, zmiany rozmiaru, dzielenia i sprzężenia na tablicach.
Dokumentacja
Przykłady składni zapytań opartej na metodzie: Ustawianie operatorów (LINQ to DataSet) - ADO.NET
Dowiedz się więcej na temat: Przykłady składni zapytań opartych na metodach: Set Operators (LINQ to DataSet)
Przykłady operatorów specyficznych dla zestawu danych (LINQ to DataSet) - ADO.NET
Dowiedz się więcej o: Przykłady operatorów specyficznych dla zestawu danych (LINQ to DataSet)
Przykłady składni wyrażeń zapytania: projekcja (LINQ to DataSet) - ADO.NET
Dowiedz się więcej o: Przykłady składni wyrażeń zapytania: projekcja (LINQ to DataSet)