Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los métodos de conversión cambian el tipo de objetos de entrada.
Las operaciones de conversión en consultas LINQ son útiles en una variedad de aplicaciones. Estos son algunos ejemplos:
El Enumerable.AsEnumerable método se puede usar para ocultar la implementación personalizada de un tipo de un operador de consulta estándar.
El Enumerable.OfType método se puede usar para habilitar colecciones no parametrizadas para consultas LINQ.
Los Enumerable.ToArraymétodos , Enumerable.ToDictionary, Enumerable.ToListy Enumerable.ToLookup se pueden usar para forzar la ejecución inmediata de consultas en lugar de aplazarla hasta que se enumera la consulta.
Métodos
En la tabla siguiente se enumeran los métodos del operador de consulta estándar que realizan conversiones de tipo de datos.
Los métodos de conversión de esta tabla cuyos nombres comienzan por "As" cambian el tipo estático de la colección de origen, pero no lo enumeran. Los métodos cuyos nombres comienzan por "To" enumeran la colección de origen y colocan los elementos en el tipo de colección correspondiente.
| Nombre del método | Descripción | Sintaxis de expresión de consulta de Visual Basic | Más información |
|---|---|---|---|
| AsEnumerable | Devuelve la entrada con tipo como IEnumerable<T>. | No aplicable. | Enumerable.AsEnumerable |
| AsQueryable | Convierte un objeto (genérico) IEnumerable en un objeto (genérico). IQueryable | No aplicable. | Queryable.AsQueryable |
| Elenco | Convierte los elementos de una colección en un tipo especificado. | From … As … |
Enumerable.Cast Queryable.Cast |
| OfType | Filtra los valores, en función de su capacidad de ser convertidos a un tipo determinado. | No aplicable. | Enumerable.OfType Queryable.OfType |
| ToArray | Convierte una colección en una matriz. Este método fuerza la ejecución de la consulta. | No aplicable. | Enumerable.ToArray |
| ToDictionary | Coloca elementos en Dictionary<TKey,TValue> basándose en una función de selector de claves. Este método fuerza la ejecución de la consulta. | No aplicable. | Enumerable.ToDictionary |
| ToList | Convierte una colección en List<T>. Este método fuerza la ejecución de la consulta. | No aplicable. | Enumerable.ToList |
| ToLookup | Coloca elementos en una Lookup<TKey,TElement> (un diccionario uno a varios) basándose en una función de selector de claves. Este método fuerza la ejecución de la consulta. | No aplicable. | Enumerable.ToLookup |
Ejemplo de sintaxis de expresión de consulta
En el ejemplo de código siguiente se usa la From As cláusula para convertir un tipo en un subtipo antes de tener acceso a un miembro que solo está disponible en el subtipo.
Class Plant
Public Property Name As String
End Class
Class CarnivorousPlant
Inherits Plant
Public Property TrapType As String
End Class
Sub Cast()
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 query = From plant As CarnivorousPlant In plants
Where plant.TrapType = "Snap Trap"
Select plant
Dim sb As New System.Text.StringBuilder()
For Each plant In query
sb.AppendLine(plant.Name)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' Venus Fly Trap
' Waterwheel Plant
End Sub
Consulte también
- System.Linq
- Información General sobre los Operadores de Consulta Estándar (Visual Basic)
- Cláusula From
- Procedimiento para consultar una lista de matrices con LINQ (Visual Basic)