Los operadores de filtrado son aquellos operadores que se utilizan para filtrar los datos de acuerdo con los requisitos del usuario de la fuente de datos dada o de la secuencia dada. Por ejemplo, en un registro de empleado, queremos obtener los datos de los empleados cuya edad es 21. Entonces, filtramos el registro según su edad. En LINQ, puede filtrar utilizando los siguientes operadores:
- Dónde
- de tipo
Operador de tipo
El operador OfType filtra la secuencia o la fuente de datos dependiendo de su capacidad para convertir un elemento en una colección a un tipo específico. Se implementa mediante el uso de la ejecución diferida, lo que significa que devuelve inmediatamente un objeto que contiene la información necesaria para realizar la acción, pero se ejecuta cuando el objeto itera sobre el bucle mediante foreach loop o for loop.
- En LINQ, puede usar varios OfType en una sola consulta.
- No es compatible con la sintaxis de consulta en lenguaje C# o VB.Net, pero puede usarlo con sintaxis como se muestra en el siguiente ejemplo.
Ejemplo:
// C# program to illustrate the
// concept of OfType operator
using
System;
using
System.Linq;
using
System.Collections;
// Employee details
public
class
Employee {
public
int
emp_id
{
get
;
set
;
}
public
string
emp_name
{
get
;
set
;
}
public
string
emp_gender
{
get
;
set
;
}
public
string
emp_hire_date
{
get
;
set
;
}
public
int
emp_salary
{
get
;
set
;
}
}
public
class
GFG {
// Main method
static
public
void
Main()
{
// Data Source
ArrayList myarray =
new
ArrayList();
myarray.Add(
"GeeksforGeeks"
);
myarray.Add(23);
myarray.Add(
new
Employee() {emp_id = 209, emp_name =
"Anjita"
});
myarray.Add(
new
Employee() {emp_id = 210, emp_name =
"Soniya"
});
myarray.Add(
new
Employee() {emp_id = 300, emp_name =
"Rohan"
});
// Using OfType operator
var
res1 =
from
e1
in
myarray.OfType<
string
>()
select
e1;
foreach
(
var
val1
in
res1)
{
Console.WriteLine(val1);
}
var
res2 =
from
e2
in
myarray.OfType<Employee>()
select
e2;
foreach
(
var
val2
in
res2)
{
Console.WriteLine(val2.emp_name);
}
}
}
Producción:GeeksforGeeks Anjita Soniya Rohan
- Admite la sintaxis de métodos en C# o en VB. Está disponible tanto en la clase Queryable como en la Enumerable. Como se muestra en el siguiente ejemplo.
Ejemplo:
// C# program to illustrate the
// concept of OfType operator
using
System;
using
System.Linq;
using
System.Collections;
// Employee details
public
class
Employee {
public
int
emp_id
{
get
;
set
;
}
public
string
emp_name
{
get
;
set
;
}
public
string
emp_gender
{
get
;
set
;
}
public
string
emp_hire_date
{
get
;
set
;
}
public
int
emp_salary
{
get
;
set
;
}
}
class
GFG {
// Main method
static
public
void
Main()
{
// Data Source
ArrayList myarray =
new
ArrayList();
myarray.Add(
new
Employee() {emp_id = 209, emp_name =
"Anjita"
});
myarray.Add(
new
Employee() {emp_id = 210, emp_name =
"Soniya"
});
myarray.Add(
new
Employee() {emp_id = 300, emp_name =
"Rohan"
});
// Get the id of the employees
// Using OfType operator
var
res = myarray.OfType<Employee>();
foreach
(
var
val
in
res)
{
Console.WriteLine(
"Employee Id: {0}"
, val.emp_id);
}
}
}
Producción:Employee Id: 209 Employee Id: 210 Employee Id: 300
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA