Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit le résultat d’une requête.
Syntaxe
Select [ var1 = ] fieldName1 [, [ var2 = ] fieldName2 [...] ]
Pièces
var1
Optionnel. Alias qui peut être utilisé pour référencer les résultats de l’expression de colonne.
fieldName1
Obligatoire. Nom du champ à retourner dans le résultat de la requête.
Remarques
Vous pouvez utiliser la Select
clause pour définir les résultats à retourner à partir d’une requête. Cela vous permet de définir les membres d’un nouveau type anonyme créé par une requête ou de cibler les membres d’un type nommé retourné par une requête. La Select
clause n’est pas requise pour une requête. Si aucune clause n’est Select
spécifiée, la requête retourne un type basé sur tous les membres des variables de plage identifiées pour l’étendue actuelle. Pour plus d’informations, consultez Types anonymes. Lorsqu’une requête crée un type nommé, elle retourne un résultat de type IEnumerable<T> où T
est le type créé.
La Select
clause peut référencer toutes les variables dans l’étendue actuelle. Cela inclut les variables de plage identifiées dans la From
clause (ou From
les clauses). Il inclut également toutes les nouvelles variables créées avec un alias par les Aggregate
clauses , Let
ou Group By
Group Join
clauses ou variables d’une clause précédente Select
dans l’expression de requête. La Select
clause peut également inclure des valeurs statiques. Par exemple, l’exemple de code suivant montre une expression de requête dans laquelle la clause définit le résultat de la Select
requête comme un nouveau type anonyme avec quatre membres : ProductName
, , Price
Discount
et DiscountedPrice
. Les ProductName
valeurs membres et Price
les valeurs sont extraites de la variable de plage de produits définie dans la From
clause. La DiscountedPrice
valeur de membre est calculée dans la Let
clause. Le Discount
membre est une valeur statique.
' 10% discount
Dim discount_10 = 0.1
Dim priceList =
From product In products
Let DiscountedPrice = product.UnitPrice * (1 - discount_10)
Select product.ProductName, Price = product.UnitPrice,
Discount = discount_10, DiscountedPrice
La Select
clause introduit un nouvel ensemble de variables de plage pour les clauses de requête suivantes, et les variables de plage précédentes ne sont plus dans l’étendue. La dernière Select
clause d’une expression de requête détermine la valeur de retour de la requête. Par exemple, la requête suivante retourne le nom de la société et l’ID de commande pour chaque commande client pour laquelle le total dépasse 500. La première Select
clause identifie les variables de plage pour la Where
clause et la deuxième Select
clause. La deuxième Select
clause identifie les valeurs retournées par la requête en tant que nouveau type anonyme.
Dim customerList = From cust In customers, ord In cust.Orders
Select Name = cust.CompanyName,
Total = ord.Total, ord.OrderID
Where Total > 500
Select Name, OrderID
Si la Select
clause identifie un seul élément à retourner, l’expression de requête retourne une collection du type de cet élément unique. Si la Select
clause identifie plusieurs éléments à retourner, l’expression de requête retourne une collection d’un nouveau type anonyme, en fonction des éléments sélectionnés. Par exemple, les deux requêtes suivantes retournent des collections de deux types différents en fonction de la Select
clause. La première requête retourne une collection de noms d’entreprise sous forme de chaînes. La deuxième requête retourne une collection d’objets Customer
renseignés avec les noms d’entreprise et les informations d’adresse.
Dim customerNames = From cust In customers
Select cust.CompanyName
Dim customerInfo As IEnumerable(Of Customer) =
From cust In customers
Select New Customer With {.CompanyName = cust.CompanyName,
.Address = cust.Address,
.City = cust.City,
.Region = cust.Region,
.Country = cust.Country}
Exemple :
L’expression de requête suivante utilise une From
clause pour déclarer une variable cust
de plage pour la customers
collection. La Select
clause sélectionne le nom du client et la valeur d’ID et remplit les colonnes et CustomerID
les CompanyName
colonnes de la nouvelle variable de plage. L’instruction For Each
effectue une boucle sur chaque objet retourné et affiche les colonnes et CustomerID
les CompanyName
colonnes de chaque enregistrement.
Sub SelectCustomerNameAndId(ByVal customers() As Customer)
Dim nameIds = From cust In customers
Select cust.CompanyName, cust.CustomerID
For Each nameId In nameIds
Console.WriteLine(nameId.CompanyName & ": " & nameId.CustomerID)
Next
End Sub