En LINQ, los operadores cuantificadores se utilizan para devolver un valor booleano que muestra si algunos o todos los elementos satisfacen la condición dada. El operador de consulta estándar admite 3 tipos diferentes de operadores cuantificadores:
- Todos
- Ningún
- Contiene
Contiene Operador
El operador Contiene se utiliza para verificar si la secuencia o colección dada contiene el elemento especificado o no. Devolverá verdadero si la secuencia dada contiene el elemento especificado; de lo contrario, devolverá falso. Se sobrecarga en dos tipos diferentes:
- Contiene<TSource>(IEnumerable<TSource>, TSource): este método se utiliza para comprobar si una secuencia contiene un elemento específico mediante el comparador de igualdad predeterminado.
- Contiene<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>): este método se utiliza para comprobar si una secuencia contiene un elemento específico mediante el uso de un IEqualityComparer especificado.
Puntos importantes:
- No es compatible con la sintaxis de consulta en los lenguajes C# y VB.Net.
- Admite la sintaxis del método en los lenguajes C# y VB.Net.
- Está presente tanto en la clase Queryable como en la Enumerable.
- Lanzará ArgumentNullException si la fuente dada es nula.
- No devuelve valor en lugar de esto, devuelve verdadero o falso.
- El tipo de retorno de este operador es System.Boolean .
- Puede usar la clase personalizada que deriva IEqualityOperator con Contiene para verificar el objeto en la colección dada.
Ejemplo 1:
// C# program to illustrate the // use of Contains operator using System; using System.Linq; using System.Collections.Generic; class GFG { static public void Main() { // Data source int[] sequence1 = {34, 56, 77, 88, 99, 10, 23, 46}; string[] sequence2 = {"Geek", "Geeks123", "GeeksforGeeks"}; // Check the sequence1 contain 10 // Using Contains operator var result1 = sequence1.Contains(10); Console.WriteLine("Result: {0}", result1); // Check the sequence2 contain "qq" // Using Contains operator var result2 = sequence2.Contains("123Geek"); Console.WriteLine("Result: {0}", result2); } }
Producción:
Result: True Result: False
Ejemplo 2:
// C# program to check the new employee // is found in the given old data list using System; using System.Linq; using System.Collections.Generic; // 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; } } // the EmpCompar class implements // IEqualityComparer<Employee> // To compare the details of the new // employee to the details of the old list public class EmpCompar : IEqualityComparer<Employee> { public bool Equals(Employee a, Employee b) { if (a.emp_id == b.emp_id && a.emp_name == b.emp_name && a.emp_gender == b.emp_gender && a.emp_hire_date == b.emp_hire_date && a.emp_salary == b.emp_salary) return true; return false; } public int GetHashCode(Employee obj) { return obj.GetHashCode(); } } class GFG { // Main method static public void Main() { List<Employee> emp = new List<Employee>() { new Employee() {emp_id = 209, emp_name = "Anjita", emp_gender = "Female", emp_hire_date = "12/3/2017", emp_salary = 20000}, new Employee() {emp_id = 210, emp_name = "Soniya", emp_gender = "Female", emp_hire_date = "22/4/2018", emp_salary = 30000}, new Employee() {emp_id = 211, emp_name = "Rohit", emp_gender = "Male", emp_hire_date = "3/5/2016", emp_salary = 40000}, new Employee() {emp_id = 212, emp_name = "Supriya", emp_gender = "Female", emp_hire_date = "4/8/2017", emp_salary = 40000}, new Employee() {emp_id = 213, emp_name = "Anil", emp_gender = "Male", emp_hire_date = "12/1/2016", emp_salary = 40000}, new Employee() {emp_id = 214, emp_name = "Anju", emp_gender = "Female", emp_hire_date = "17/6/2015", emp_salary = 50000}, }; // New employee Employee emp1 = new Employee() {emp_id = 215, emp_name = "Anu", emp_gender = "Female", emp_hire_date = "18/6/2015", emp_salary = 50000}; // Query to check the new employee is // found in the given old data list // Using Contain operator var res = emp.Contains(emp1, new EmpCompar()); Console.WriteLine("Employee Found?: {0}", res); } }
Producción:
Employee Found?: False
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