El método Enum.CompareTo(Object) se usa para comparar la instancia actual con un objeto específico y devuelve una indicación de sus valores relativos.
Sintaxis:
public int CompareTo (object target);
Aquí, el objetivo es un objeto para comparar o puede ser nulo.
Devoluciones: este método devuelve un número con signo que muestra los valores relativos de la instancia actual y el destino de la siguiente manera:
- Menos de cero: si el valor de la instancia actual es menor que el valor de destino.
- Cero: si el valor de la instancia actual es igual al valor del objetivo.
- Mayor que cero: si el valor de la instancia actual es mayor que el valor del objetivo o el objetivo es nulo .
Excepciones:
- ArgumentException : si el destino y la instancia actual no son del mismo tipo.
- InvalidOperationException : si la instancia no es tipo SByte, Int16, Int32, Int64, Byte, UInt16, UInt32 o UInt64 .
- NullReferenceException : si la instancia actual es nula.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# program to demonstrate the // Enum.CompareTo(Object) Method using System; public class GFG { enum Color { RED, GREEN, BLUE }; // Driver method public static void Main(String[] args) { Color c1 = Color.RED; Color c2 = Color.GREEN; Color c3 = Color.RED; Color c4 = Color.BLUE; Console.Write("Comparing {0} with {1} : ", c1, c2); // CompareTo method Console.WriteLine(c1.CompareTo(c2)); Console.Write("Comparing {0} with {1} : ", c1, c3); // CompareTo method Console.WriteLine(c1.CompareTo(c3)); Console.Write("Comparing {0} with {1} : ", c4, c2); // CompareTo method Console.WriteLine(c4.CompareTo(c2)); } }
Comparing RED with GREEN : -1 Comparing RED with RED : 0 Comparing BLUE with GREEN : 1
Ejemplo 2:
// C# program to demonstrate the // Enum.CompareTo(Object) Method using System; public class GFG { enum Color{Red, Blue}; enum Seasons {Winter, Summer}; // Driver method public static void Main(String[] args) { Color c1 = Color.Red; Color c2 = Color.Blue; Seasons s1 = Seasons.Winter; Seasons s2 = Seasons.Summer; Console.Write("Comparing {0} with {1} : ", c1, c2); // CompareTo method Console.WriteLine(c1.CompareTo(c2)); Console.Write("Comparing {0} with {1} : ", c1, s1); // using CompareTo method // it will give exception // as target and the current // instance are not the same // types Console.WriteLine(c1.CompareTo(s1)); } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentException: el objeto debe ser del mismo tipo que la enumeración. El tipo pasado fue ‘GFG+Seasons’; el tipo de enumeración era ‘GFG+Color’.
en System.Enum.CompareTo (destino System.Object) <0x7ff9d1544610 + 0x000da> en <0f8aeac9d63d4b8aa575761bb4e65b79>:0
Referencia:
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