El operador de igualdad se usa para verificar si las dos secuencias dadas son idénticamente iguales o no. En LINQ, la operación de igualdad contiene solo un operador que se conoce como SequenceEqual . Se utiliza para comprobar si los elementos dados en la secuencia o colección son iguales o no. Si las secuencias o colecciones dadas son iguales, devuelve verdadero ; de lo contrario, devuelve falso .
- Compara el valor y el número de elementos, si la colección o secuencia tiene tipos de datos primitivos.
- Comprueba las referencias de los objetos, si la colección tiene elementos de tipo complejo.
- 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.
- Se implementa mediante el uso de ejecución diferida.
- Puede usar la clase IEqualityComparer para comparar dos colecciones de tipo complejo usando el método SequenceEqual.
Ejemplo 1:
// C# program to check the given // sequences are equal or not using System; using System.Linq; class GFG { static public void Main() { // Data source char[] sequence1 = {'p', 'q', 'r', 's', 'y', 'z'}; char[] sequence2 = {'p', 'q', 'r', 's', 'y', 'z'}; // Display the sequences Console.WriteLine("Sequence 1 is: "); foreach(var s1 in sequence1) { Console.WriteLine(s1); } Console.WriteLine("Sequence 2 is: "); foreach(var s2 in sequence2) { Console.WriteLine(s2); } // Check the given sequences are equal or // not Using SequenceEqual function var result = sequence1.SequenceEqual(sequence2); Console.WriteLine("Given Sequences are equal: {0}", result); } }
Producción:
Sequence 1 is: p q r s y z Sequence 2 is: p q r s y z Given Sequences are equal: True
Ejemplo 2:
// C# program to check the names of // the employee are equal or not using System; using System.Linq; using System.Collections.Generic; // Employee details public class Employee1 { public int emp_id1 { get; set; } public string emp_name1 { get; set; } public string emp_lang1 { get; set; } } // Employee details public class Employee2 { public int emp_id2 { get; set; } public string emp_name2 { get; set; } public string emp_lang2 { get; set; } } public class GFG { // Main method static public void Main() { List<Employee1> emp1 = new List<Employee1>() { new Employee1() {emp_id1 = 209, emp_name1 = "Anjita", emp_lang1 = "C#"}, new Employee1() {emp_id1 = 210, emp_name1 = "Soniya", emp_lang1 = "C"}, new Employee1() {emp_id1 = 211, emp_name1 = "Rohit", emp_lang1 = "Java"}, }; List<Employee2> emp2 = new List<Employee2>() { new Employee2() {emp_id2 = 209, emp_name2 = "Anjita", emp_lang2 = "Scala"}, new Employee2() {emp_id2 = 210, emp_name2 = "Soniya", emp_lang2 = "Python"}, new Employee2() {emp_id2 = 211, emp_name2 = "Rohit", emp_lang2 = "Ruby"}, }; // Query to check the names of // the employee are equal or not // Using SequenceEqual method var res = emp1.Select(e => e.emp_name1).SequenceEqual(emp2.Select(e => e.emp_name2)); Console.WriteLine(res); } }
Producción:
True
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