Conversions dans LINQ

Les opérateurs changent le type d'objets d'entrée et sont utilisés dans une large gamme d'applications.

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
AsEnumerable Renvoie l'entrée tapée comme IEnumerable <T> N'est pas applicable N'est pas applicable
AsQueryable Un IEnumerable (générique) est converti en un IQueryable (générique) N'est pas applicable N'est pas applicable
Jeter Effectue le cast des éléments d'une collection vers un type spécifié Utilisez une variable de plage explicitement typée. Ex: à partir de la chaîne str dans les mots De… En tant que…
OfType Filtre les valeurs en fonction de leur, en fonction de leur capacité à être transtypées en un type particulier N'est pas applicable N'est pas applicable
ToArray Force l'exécution de la requête et effectue la conversion d'une collection en tableau N'est pas applicable N'est pas applicable
ToDictionary Sur la base d'une fonction de sélection de clé, définissez les éléments dans un Dictionary <TKey, TValue> et force l'exécution d'une requête LINQ N'est pas applicable N'est pas applicable
Lister Force l'exécution d'une requête en convertissant une collection en List <T> N'est pas applicable N'est pas applicable
Pour rechercher Force l'exécution d'une requête et place des éléments dans un Lookup <TKey, TElement> sur la base d'une fonction de sélection de clé N'est pas applicable N'est pas applicable

Exemple de diffusion - Expression de requête

C #

using System;
using System.Linq;

namespace Operators {
   class Cast {
      static void Main(string[] args) {
      
         Plant[] plants = new Plant[] {new CarnivorousPlant { Name = "Venus Fly Trap", TrapType = "Snap Trap" },
                          new CarnivorousPlant { Name = "Pitcher Plant", TrapType = "Pitfall Trap" },
                          new CarnivorousPlant { Name = "Sundew", TrapType = "Flypaper Trap" },
                          new CarnivorousPlant { Name = "Waterwheel Plant", TrapType = "Snap Trap" }};

         var query = from CarnivorousPlant cPlant in plants
                     where cPlant.TrapType == "Snap Trap"
                     select cPlant;

         foreach (var e in query) {
            Console.WriteLine("Name = {0} , Trap Type = {1}", e.Name, e.TrapType);
         }

         Console.WriteLine("\nPress any key to continue.");
         Console.ReadKey();
      }
   }

   class Plant {
      public string Name { get; set; }
   }

   class CarnivorousPlant : Plant {
      public string TrapType { get; set; }
   }
}

VB

Module Module1
   Sub Main()

      Dim plants() As Plant = {New CarnivorousPlant With {.Name = "Venus Fly Trap", .TrapType = "Snap Trap"},
                              New CarnivorousPlant With {.Name = "Pitcher Plant", .TrapType = "Pitfall Trap"},
                              New CarnivorousPlant With {.Name = "Sundew", .TrapType = "Flypaper Trap"},
                              New CarnivorousPlant With {.Name = "Waterwheel Plant", .TrapType = "Snap Trap"}}

      Dim list = From cPlant As CarnivorousPlant In plants
                 Where cPlant.TrapType = "Snap Trap"
                 Select cPlant

      For Each e In list
         Console.WriteLine("Name = {0} , Trap Type = {1}", e.Name, e.TrapType)
      Next

      Console.WriteLine(vbLf & "Press any key to continue.")
      Console.ReadKey()
   End Sub

   Class Plant
      Public Property Name As String
   End Class

   Class CarnivorousPlant
      Inherits Plant
      Public Property TrapType As String
   End Class

End Module

Lorsque le code ci-dessus en C # ou VB est compilé et exécuté, il produit le résultat suivant -

Name = Venus Fly Trap, TrapType = Snap Trap
Name = Waterwheel Plant, TrapType = Snap Trap

Press any key to continue.