Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

18 mars 2007 7 18 /03 /mars /2007 11:26
Vérifier en C# qu'une chaine de caractères ne contient que des lettres
ou ne contient que des chiffres
 
1 – ma proposition
              // string
        ///<summary>
        /// vérifie que la chaine ne contient que des lettres
        ///</summary>
        ///<param name="sReceive"></param>
        ///<returns></returns>
        public bool isLetter(string sReceive)
        {
            bool bResult;
            char[] cWork;
            System.Collections.IEnumerator EnumeratorcWork;
 
            bResult = true;
            cWork = sReceive.ToCharArray();
            EnumeratorcWork = cWork.GetEnumerator();
 
            while (EnumeratorcWork.MoveNext()==true)
            {
                if (Char.IsLetter((Char)EnumeratorcWork.Current) == false)
                {
                    bResult = false;
                }
            }
       
            return bResult;
        }
        ///<summary>
        /// vérifie que la chaine ne contient que des chiffres
        ///</summary>
        ///<param name="sReceive"></param>
        ///<returns></returns>
        public bool isDigit(string sReceive)
        {
            bool bResult;
            char[] cWork;
            System.Collections.IEnumerator EnumeratorcWork;
 
            bResult = true;
            cWork = sReceive.ToCharArray();
            EnumeratorcWork = cWork.GetEnumerator();
 
            while (EnumeratorcWork.MoveNext() == true)
            {
                if (Char.IsDigit((Char)EnumeratorcWork.Current) == false)
                {
                    bResult = false;
                }
            }
 
            return bResult;
        }
 
Ou plus simplement
   public bool isLetter(string sReceive)
        {
            bool bResult;
            bResult = true;
            foreach (char cWork in sReceive)
            {
                if (char.IsLetter(cWork) == false)
                {
                    bResult = false;
                }
            }
 
            return bResult;
        }
        public bool isDigit(string sReceive)
        {
            bool bResult;
            bResult = true;
            foreach (char cWork in sReceive)
            {
                if (char.IsDigit(cWork) == false)
                {
                    bResult = false;
                }
            }
 
            return bResult;
        }
2 – avec TryParse
Ex : vérifier qu’une chaine ne contient que des chiffres,
TryParse retourne un booléen indiquant si la conversion est possible
nResult (précédé par out) contiendra le résultat de la conversion
int nResult;
            if (int.TryParse(textBox1.Text, out nResult) == false)
            {
                MessageBox.Show("la chaine ne peut etre convertit en entier");
            }
 
3 – en VB.NET
La méthode IsNumeric() renvoie un booléen indiquant si la chaine de caractères passée en paramètre ne contient que des chiffres
4 – les expressions régulières peuvent servir également

Partager cet article

Repost 0
Published by Romagny13 - dans C 1.0- 2.0- 3.0
commenter cet article

commentaires

AIDexpress 10/09/2015 04:13

Mieux:
bResult = false;
break;
Inutile de continuer à tester ta chaine si une erreur à été trouvé.
;)