En mode console, tu ne peux pas modifier la saisie de l'utilisateur pour forcer une saisie en majuscule. Par contre tu peux le tester et inviter l'utilisateur à activer la saisie en majuscule.
1 2 3 4 5
| while (!Console.CapsLock)
{
Console.WriteLine("Activez le caps ...");
Console.ReadLine();
} |
Sinon pour reprendre ton code
1 2
| NomMaj = ((Pers[i].Nom).ToUpper());
NomMaj = Convert.ToString(Console.ReadLine()); |
ne fera absolument rien par rapport à ce que tu souhaites. La méthode ToUpper() renvoie une chaîne de caractères mise en majuscule, mais tel que l'utilise ca ne fera strictement rien car premièrement ta chaîne Pers[i].Nom vaut probablement string.Empty et résultat même mise en majuscule ca ne donne rien (au pire une exception si tu as null au lieu de string.Empty) et deuxièmement comme tu réaffectes la variable NomMaj derrière la première ligne ne sert absolument à rien.
Vu ta demande et le code, ca donne l'impression que tu crois qu'en appelant ToUpper() sur la chaîne ca va te permettre de forcer une saisie en majuscule. Si c'est bien le cas revoit les bases car tu fais un dangereux mélange, sans mauvaises arrières pensées aucune.
Un simple
NomMaj = Console.ReadLine().ToUpper();
suffira pour la mise en majuscule suite à validation utilisateur. Sinon, si tu le veux à l'écran, il faudra tester le CapsLock et empêcher la saisie tant qu'il n'est pas activé.
Partager