105 votes

Peut-on utiliser Console.Clear pour effacer uniquement une ligne au lieu de toute la console ?

En travaillant sur un programme de questions/réponses pour l'école, il m'est venu à l'esprit que je peux utiliser Console.Clear() pour effacer tout sur l'écran. Je me demande si je peux utiliser Console.Readline(valeurUn), puis afficher uniquement la réponse sans la question. Si je posais une seule question, le Console.Clear fonctionnerait.

J'ai plusieurs questions avec des valeurs non références, à effacer si possible. Je veux exclure les questions et afficher uniquement plusieurs réponses. Je pense que si je stocke les réponses, je pourrais utiliser Console.Clear() puis simplement Console.WriteLine() avec trois variables. Je pourrais faire quelque chose comme cela :

Console.WriteLine("La valeur 1 est: {0:c}" + "La valeur 2 est: {1:c}" + "La valeur 3 est: {2:c}, valeurUn, valeurDeux, valeurTrois).

Le problème est plus simple avec des références car les valeurs sont stockées et récupérées. Si j'utilise simplement des méthodes pour passer par valeur et afficher la valeur, main() n'aura pas de référence à ces valeurs pour effacer et afficher à nouveau. C'est pourquoi je me demande si je peux simplement poser une question, puis effacer la ligne et afficher uniquement la réponse (ou les réponses).

Je cherche simplement à comprendre les possibilités et non à mettre en place un programme. J'aime connaître les capacités de sortie d'une valeur à partir d'une référence et par valeur sans poser de questions supplémentaires.

0voto

Alex Points 11

La solution la plus propre que j'ai trouvée:

var cursorLeft = Console.CursorLeft;
Console.CursorLeft = 0;
Console.Write(new string(' ', cursorLeft));
Console.CursorLeft = 0;

Écrire toute la Console.BufferWidth, et non pas Console.BufferWidth - 1 peut résulter en un déplacement à la ligne suivante, selon la console.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X