SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: DanielC# en Domingo 4 de Agosto de 2013, 00:29

Título: Saber si una cadena contiene solo letras sin un bucle en c#
Publicado por: DanielC# en Domingo 4 de Agosto de 2013, 00:29
Hola a todos.-
Bueno eso, quiero validar que una cadena sólo contenga letras(para un campo nombre y apellido) sin tener que construir un bucle.-

Saludos.
Daniel
Título: Re:Saber si una cadena contiene solo letras sin un bucle en c#
Publicado por: ProfesorX en Domingo 4 de Agosto de 2013, 23:49
Bueno, si lo que deseas es validar un texto al estar capturando, podrias utilizar el MaskedTextBox:

http://msdn.microsoft.com/es-mx/library/system.windows.forms.maskedtextbox.aspx (http://msdn.microsoft.com/es-mx/library/system.windows.forms.maskedtextbox.aspx)

Código: [Seleccionar]
                // Mascara para validar que un texto acepte caracteres, no numeros y no pase de 10 letras
                maskedTextBox1.Mask = "CCCCCCCCCC";

Si lo que deseas es validar Un Texto, despues de capturarlo, podrias utilizar expresiones regulares por medio de la clase Regex que se encuentra en el espacio de nombres System.Text.RegularExpressions,

http://es.wikipedia.org/wiki/Expresiones_regulares (http://es.wikipedia.org/wiki/Expresiones_regulares)

Código: [Seleccionar]
                string unknown = "MARTIN LUTHER KING";
                Regex r = new Regex("^[A-Za-z ]+$");
                if (r.IsMatch(unknown) == true)
                {
                    MessageBox.Show("Correcto");
                }
                else
                {
                    MessageBox.Show("Incorrecto");
                }


Espero te sirva.

Saludos :)
Título: Re:Saber si una cadena contiene solo letras sin un bucle en c#
Publicado por: DanielC# en Lunes 5 de Agosto de 2013, 18:25
Hola Profe.
Como me gusta este foro, no lo digo con ninguna hipocresía, son muy completas las respuestas y con mi edad(61)necesito, me hace falta para aprender tipos como vos.-
Bueno como pequeño aporte dejo lo que yo había implementado(igual no funciona 10 puntos pero sirve).-

Código: [Seleccionar]
...............................
    byte error = 0;
    string temp = "";

    do
    {
        error = 0;
Console.SetCursorPosition(02, 02); Console.Write("Ingrese nombre completo....:");
temp = Console.ReadLine();
if(temp.Length > 0)
{
    foreach (char c in temp)
    {
              if (!Char.IsLetter(c)) {error++;}
    }
}
else error++;
    }while(error > 0);*/
................................
Un abrazo y hasta la proxima.
Daniel(Arequito,Santa Fé, Argentina)