Introducción
Ya vimos cómo comprobar si una cadena termina con determinado carácter en JavaScript, ahora es turno del lenguaje de programación C#. Veamos cómo comprobar si cadena termina con en C#.
Comprobar si cadena termina con en C#
El método lo tienen todas las cadenas. Se llama EndsWith y vamos a ver algunos ejemplos.
class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundo";
		if(saludo.EndsWith("o")){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}
Usamos el método EndsWith y le pasamos una subcadena o carácter. Veamos ahora este caso en donde termina con O mayúscula:
class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundO";
		if(saludo.EndsWith("o")){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}
En ese caso imprimirá “No termina con o” ya que termina con la letra mayúscula, no con minúscula.
Ignorar mayúsculas y minúsculas
Para eso sirve el segundo argumento que le pasamos a EndsWith, el cual es un booleano que indica si debe ignorar las mayúsculas y minúsculas.
Cuando pasamos el segundo argumento estamos forzados a también pasar el tercero, que es un objeto de tipo CultureInfo.
¿Por qué? bueno, normalmente creemos que las mayúsculas son el alfabeto ABCDE… y las minúsculas abcde… pero es un error.
En el alfabeto de inglés es correcto, pero tomemos el del español. Hay palabras acentuadas como José, ahí la é es una letra en minúscula y C# provee la manera de identificar el idioma con CultureInfo.
El código queda así:
using System.Globalization;
class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundO";
		CultureInfo ci = new CultureInfo("es-LA");
		if(saludo.EndsWith("o", true, ci)){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}
Le pasamos un objeto de tipo CultureInfo de es-LA, algo así como español latinoamericano. De esta manera comparará perfectamente. Veamos el caso de José:
using System.Globalization;
class Ejemplo{
	public static void Main(){
		string saludo = "ME LLAMO JOSÉ"; // En mayúscula
		CultureInfo ci = new CultureInfo("es-LA");
		if(saludo.EndsWith("é", true, ci)){
			System.Console.WriteLine("Termina con la letra é");
		}else{
			System.Console.WriteLine("No termina con é");
		}
	}
}
La salida es:
Termina con la letra é