Ok, voici ce que j'essaie de faire. L'utilisateur est invité à saisir un 8 chiffres (7 chiffres plus un trait d'unionC#: Diviser une chaîne (ou une entrée utilisateur) en caractères individuels avecOUT en utilisant un tableau?
781-0432
Je veux le briser et le stocker dans 8 variables char séparées sans utiliser un tableau:
a = 7 b = 8 c = 1 ... h = 2
Ive a essayé de le faire avec la méthode Console.Read():
a = Console.Read(); b = Console.Read(); etc
Le problème est, je ne sais pas comment entrer la Console.Read() pour arrêter la lecture après cela. Si le module est contenu dans une boucle, il ne semble pas réinitialisé lors de l'appel suivant.
Je sais ce que vous en pensez. Pourquoi diable n'utiliseriez-vous pas un tableau ou l'option split en char array? Eh bien, parce que c'est un devoir qui est très spécifique sur ce que vous voulez accomplir. C'est le premier à me noyer dans un moment. Un aperçu?
pouvez-vous préciser ce que vous entendez par "Si le module est contenu dans une boucle, il ne semble pas réinitialisé lors de l'appel suivant"? –
@kirk: C'est difficile à décrire. Lorsque vous utilisez Console.Read() pour la première fois, il vous invite à entrer l'entrée. À chaque utilisation ultérieure de la méthode Read(), il ne vous demandera pas tant qu'il reste des caractères dans l'invite d'origine qui n'ont pas encore été lus; donc à la place, il va juste lire le caractère suivant plutôt que de vous inviter à nouveau. Donc, si j'avais une sorte de déclaration de rupture qui jetterait une erreur si la 4ème position n'était pas un trait d'union '-', le programme me demanderait un nouveau numéro de téléphone et retournerait à essayer de le valider, MAIS au lieu de la méthode Read() commençant à la 1ère position – Sinaesthetic
n, elle commencerait à la 5ème position car elle n'était pas terminée avec l'entrée d'origine, indépendamment du fait qu'elle a maintenant une nouvelle entrée. c'est vraiment désordre – Sinaesthetic