Sélectionnez une nouvelle combinaison de mots-clés
Dans LINQ, ce qui ne l' select new
combinaison de mot-clé?
Je n'ai pas trouvé beaucoup de documentation sur ce.
Grâce
source d'informationauteur dotnetdev
Vous devez vous connecter pour publier un commentaire.
En utilisant
select new
vous pouvez utiliser les données ou les objets dans le jeu que vous travaillez pour créer de nouveaux objets, soit tapé anonymement ou normalement.1. À l'aide de
select new
de retour de nouveau de façon anonyme les objets de type:Il utilise le
new
mot-clé pour créer un jeu de manière anonyme, les objets de type. Un nouveau type d'objet est tout simplement créés par le compilateur, avec deux propriétés. Si vous regardez le type d'objet dans le débogueur, vous verrez qu'il a une folle-la recherche, la génération automatique de nom de type. Mais vous pouvez aussi utiliser lenew
mot-clé juste comme vous êtes habitué à l'extérieur de linq:2. À l'aide de
select new
de construire des "régulièrement" les objets de type:Cet exemple utilise la
new
mot-clé juste comme vous êtes habitué à construire quelques de type connu de l'objet via l'un de ses constructeurs.Sélectionnez est appelée transformation (ou projection) de l'opérateur. Il vous permet de mettre les données dans le jeu que vous travaillez par le biais d'une fonction de transformation, pour vous donner un nouvel objet sur l'autre côté. Dans les exemples ci-dessus, nous sommes tout simplement la "transformation" de la personne objet dans un autre type en choisissant uniquement des propriétés spécifiques de l'objet de personne, et de faire quelque chose avec eux. Ainsi, la combinaison de
select new ...
est vraiment juste en précisant lenew
fonctionnement que la fonction de transformation de laselect
déclaration. Que pourrait faire plus de sens avec un contre-exemple pour les deux ci-dessus:3. À l'aide de
select
sansnew
sans transformationBien sûr, vous n'avez pas besoin d'utiliser
select
etnew
ensemble. Prenez cet exemple:Cela permet d'être à l'origine du type d'objet qui a été dans le jeu que vous travailliez - pas de transformation, et non la création de nouveaux objets.
4. À l'aide de
select
sansnew
avec une transformationEt enfin, une transformation sans l'
new
mot-clé:qui vous donne en quelques nouveau type d'objet, généré à partir de la transformation de la fonction et non pas en utilisant directement le
new
mot-clé le construire.C'est le
select
mot-clé suivi par unnew
expression, probablement la création d'un anonyme de type.En d'autres termes, c'est une combinaison de deux sans rapport avec les expressions:
select
Les types anonymes
Ce n'est pas vraiment une combinaison,
new
juste crée un type anonyme pour retourner la valeur. Sinon, vous n'avez à travailler avec les Dictionnaires/Tableaux etc (comme en PHP) qui est toujours laid.