Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: BlaineMonkey en 22 Febrero 2010, 18:21 pm



Título: Duda comparación de strings
Publicado por: BlaineMonkey en 22 Febrero 2010, 18:21 pm
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?


Título: Re: Duda comparación de strings
Publicado por: elmaro en 22 Febrero 2010, 19:45 pm
O manejas los números como números o puedes poner:

Código
  1. string a="PEPE02";
  2. string b="PEPE10";

y listo

Saludos!


Título: Re: Duda comparación de strings
Publicado por: BlaineMonkey en 23 Febrero 2010, 10:29 am
Vale entonces no hay forma de indicarle el método de ordenación. Lo haré separando la parte numérica.

Gracias por tu ayuda.