Duda comparación de strings

Iniciado por BlaineMonkey, 22 Febrero 2010, 18:21 PM

0 Miembros y 1 Visitante están viendo este tema.

BlaineMonkey

Tengo un problema y es que quiero hacer comparaciones completas de strings.

Pongo el siguiente ejemplo:

string a="PEPE2";
string b="PEPE10";

int res = a.CompareTo(b);
if (res==0) MessageBox.Show("Iguales");
if (res<0) MessageBox.Show("Menor");
if (res>0) MessageBox.Show("Mayor");

El resultado de la comparación me está dando que a (PEPE2) es mayor que b (PEPE10). Entiendo que el ascii 2 es mayor que el 1 y por eso dice que a es mayor que b. Hay alguna forma de indicarle que haga la comparación completa? Es decir haciendo la comparación completa a sería menor que b. Sé que una solución es coger la parte numérica y tratarla a parte para saber cual es mayor, menor o igual, pero ¿se puede hacer automáticamente?

elmaro

O manejas los números como números o puedes poner:

Código (csharp) [Seleccionar]
string a="PEPE02";
string b="PEPE10";


y listo

Saludos!

BlaineMonkey

Vale entonces no hay forma de indicarle el método de ordenación. Lo haré separando la parte numérica.

Gracias por tu ayuda.