{"id":6278,"date":"2026-08-31T11:54:04","date_gmt":"2026-08-31T11:54:04","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/exploiter-saisie-clavier-readline-csharp-facile\/"},"modified":"2026-08-31T11:54:13","modified_gmt":"2026-08-31T11:54:13","slug":"exploiter-saisie-clavier-readline-csharp-facile","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/exploiter-saisie-clavier-readline-csharp-facile\/","title":{"rendered":"2.7 Exploiter Facilement la Saisie au Clavier avec ReadLine en C#"},"content":{"rendered":"\u00ab\u00a0`html\n\n<p><strong>Saisie Clavier C#<\/strong> : Exploiter Facilement la Saisie au Clavier avec ReadLine en C# est un \u00e9l\u00e9ment fondamental pour les d\u00e9veloppeurs qui souhaitent interagir avec les utilisateurs via la console. Comprendre comment utiliser <strong>ReadLine<\/strong> efficacement peut am\u00e9liorer significativement la convivialit\u00e9 de vos applications. D\u00e9couvrons comment cela fonctionne et comment l\u2019int\u00e9grer \u00e0 vos projets gr\u00e2ce \u00e0 des exemples de code concrets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction \u00e0 <strong>Saisie Clavier C#<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/585750128?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-c\/145\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-c\/145\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>En C#, <code>ReadLine<\/code> est une m\u00e9thode de la classe <code>Console<\/code> situ\u00e9e dans l\u2019espace de noms <code>System<\/code>. Elle est utilis\u00e9e pour lire une ligne enti\u00e8re d&rsquo;entr\u00e9e de la console jusqu&rsquo;\u00e0 ce que l&rsquo;utilisateur appuie sur la touche Entr\u00e9e. Cette fonctionnalit\u00e9 est essentielle pour capturer des entr\u00e9es textuelles ou num\u00e9riques que votre application pourrait traiter. Pour en savoir plus sur la [structure et syntaxe de C#](https:\/\/wikiform.fr\/codespace\/structure-syntaxe-csharp-guide-detaille), veuillez consulter notre guide d\u00e9taill\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment Utiliser <strong>ReadLine<\/strong> en C#<\/h3>\n\n\n\n<p>La m\u00e9thode <code>ReadLine<\/code> est tr\u00e8s simple \u00e0 utiliser. Voici un exemple basique montrant comment capturer l&rsquo;entr\u00e9e utilisateur et afficher cette entr\u00e9e dans la console :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>using System;\n\nclass Program\n{\n    static void Main()\n    {\n        Console.WriteLine(\"Entrez votre nom :\");\n        string userName = Console.ReadLine();\n        Console.WriteLine(\"Bonjour, \" + userName + \"!\");\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Valider les Entr\u00e9es Utilisateur avec <strong>ReadLine<\/strong><\/h3>\n\n\n\n<p>Lire des donn\u00e9es utilisateur n\u00e9cessite souvent une validation pour s&rsquo;assurer de l&rsquo;int\u00e9grit\u00e9 des donn\u00e9es. Vous pouvez facilement impl\u00e9menter des v\u00e9rifications apr\u00e8s avoir obtenu les entr\u00e9es avec <code>ReadLine<\/code>. Prenons l&rsquo;exemple de la saisie d&rsquo;un \u00e2ge qui doit \u00eatre un nombre entier :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>using System;\n\nclass Program\n{\n    static void Main()\n    {\n        Console.WriteLine(\"Entrez votre \u00e2ge :\");\n        string input = Console.ReadLine();\n        bool isNumber = int.TryParse(input, out int age);\n        \n        if (isNumber && age > 0)\n        {\n            Console.WriteLine(\"\u00c2ge valide : \" + age);\n        }\n        else\n        {\n            Console.WriteLine(\"Veuillez entrer un \u00e2ge valide.\");\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Exemples Avanc\u00e9s Utilisant <strong>ReadLine<\/strong><\/h3>\n\n\n\n<p>Pour illustrer davantage l&rsquo;utilisation de <code>ReadLine<\/code>, abordons quelques sc\u00e9narios plus complexes qui montrent comment cette m\u00e9thode s\u2019int\u00e8gre dans des applications pratiques. Vous pourriez aussi explorer davantage sur l'[utilisation des structures conditionnelles en C#](https:\/\/wikiform.fr\/codespace\/structures-conditionnelles-csharp-utiles).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Lecture et Traitement de Donn\u00e9es en Boucle<\/h4>\n\n\n\n<p>Dans certains cas, vous devrez lire plusieurs entr\u00e9es utilisateur dans une boucle, souvent pour traiter une liste de donn\u00e9es. Voici comment vous pourriez impl\u00e9menter cela :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>using System;\nusing System.Collections.Generic;\n\nclass Program\n{\n    static void Main()\n    {\n        List<string> names = new List<string>();\n        string input;\n        \n        Console.WriteLine(\"Entrez des noms (entrez 'stop' pour terminer) :\");\n        while((input = Console.ReadLine())?.ToLower() != \"stop\")\n        {\n            names.Add(input);\n            Console.WriteLine(\"Nom ajout\u00e9. Entrez un autre nom :\");\n        }\n        \n        Console.WriteLine(\"Les noms saisis sont : \");\n        foreach (var name in names)\n        {\n            Console.WriteLine(name);\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Int\u00e9gration de Calculs Bas\u00e9s sur les Saisies<\/h4>\n\n\n\n<p>ReadLine peut \u00e9galement \u00eatre utilis\u00e9 pour capturer des donn\u00e9es qui seront ensuite utilis\u00e9es dans des calculs. Voici un exemple simple d&rsquo;un programme qui calcule la somme de deux nombres :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>using System;\n\nclass Program\n{\n    static void Main()\n    {\n        Console.WriteLine(\"Entrez le premier nombre :\");\n        bool isNumber1 = int.TryParse(Console.ReadLine(), out int number1);\n\n        Console.WriteLine(\"Entrez le deuxi\u00e8me nombre :\");\n        bool isNumber2 = int.TryParse(Console.ReadLine(), out int number2);\n\n        if (isNumber1 && isNumber2)\n        {\n            Console.WriteLine($\"La somme est : {number1 + number2}\");\n        }\n        else\n        {\n            Console.WriteLine(\"Veuillez entrer des nombres valides.\");\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>En poursuivant votre exploration de C# et des techniques de lecture de donn\u00e9es utilisateur, vous pouvez envisager d&rsquo;approfondir vos comp\u00e9tences en consultant la [documentation sur la personnalisation de la console C#](https:\/\/wikiform.fr\/codespace\/personnaliser-console-csharp-tutoriel-pratique) et les [m\u00e9thodes C#](https:\/\/wikiform.fr\/codespace\/methodes-csharp-introduction-utilisation-puissante). Vous pouvez \u00e9galement visionner des tutoriels vid\u00e9o sur <a href=\"https:\/\/www.youtube.com\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>, et explorer la documentation officielle sur <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/system.console.readline\" target=\"_blank\" rel=\"noopener\">Microsoft Docs<\/a> pour une compr\u00e9hension plus approfondie des capacit\u00e9s et des meilleures pratiques de ReadLine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>La m\u00e9thode <strong>ReadLine en C#<\/strong> est un outil puissant et simple pour interagir avec les utilisateurs \u00e0 travers la console. Que ce soit pour collecter des donn\u00e9es, valider des entr\u00e9es ou calculer des valeurs, ReadLine est une fonction indispensable dans le d\u00e9veloppement d&rsquo;applications console. Continuez \u00e0 pratiquer en int\u00e9grant ReadLine dans divers sc\u00e9narios pour pleinement ma\u00eetriser son utilisation et optimiser l&rsquo;interactivit\u00e9 de vos programmes C#. Vous pouvez explorer encore plus d&rsquo;outils en C#, tels que [les op\u00e9rations arithm\u00e9tiques](https:\/\/wikiform.fr\/codespace\/operations-arithmetiques-csharp-tutoriel-efficace) et [les structures conditionnelles](https:\/\/wikiform.fr\/codespace\/structures-conditionnelles-csharp-utiles).<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-c\/145\" target=\"_blank\" rel=\"noopener\">\n<img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/learnify-formation-C-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation C# Offre 50%\" title=\"\">\n<\/a>\n\n\u00ab\u00a0`","protected":false},"excerpt":{"rendered":"<p>\u00ab\u00a0`html Saisie Clavier C# : Exploiter Facilement la Saisie au Clavier avec ReadLine en C# est un \u00e9l\u00e9ment fondamental pour les d\u00e9veloppeurs qui souhaitent interagir&#8230;<\/p>\n","protected":false},"author":3,"featured_media":3322,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25],"tags":[18],"class_list":["post-6278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/6278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=6278"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/6278\/revisions"}],"predecessor-version":[{"id":6279,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/6278\/revisions\/6279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/3322"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=6278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=6278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=6278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}