{"id":6290,"date":"2026-10-12T11:53:47","date_gmt":"2026-10-12T11:53:47","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/enumerations-constantes-csharp-introduction\/"},"modified":"2026-11-02T10:16:40","modified_gmt":"2026-11-02T10:16:40","slug":"enumerations-constantes-csharp-introduction","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/enumerations-constantes-csharp-introduction\/","title":{"rendered":"2.13 Les \u00c9num\u00e9rations (Constantes) en C# : Introduction Rapide"},"content":{"rendered":"\u00ab\u00a0`markdown\n\n<p><strong>Les \u00c9num\u00e9rations (Constantes) en C#<\/strong> constituent un outil essentiel pour la cr\u00e9ation de programmes clairs et faciles \u00e0 maintenir. Les \u00e9num\u00e9rations permettent de regrouper des valeurs constantes sous un m\u00eame type, accroissant ainsi la lisibilit\u00e9 et la s\u00e9curit\u00e9 du code. Explorons ensemble comment elles fonctionnent et comment les impl\u00e9menter \u00e0 travers des exemples pratiques. Dans cet article, nous couvrirons \u00e9galement des ressources compl\u00e9mentaires disponibles sur [introduction-csharp-guide-complet-explications](https:\/\/wikiform.fr\/codespace\/introduction-csharp-guide-complet-explications) pour enrichir votre connaissance du C#.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction aux <strong>\u00c9num\u00e9rations en 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\/585751259?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:\/\/learnifi.fr\/home\/course\/langage-c-devenir-d%C3%A9veloppeur-avec-les-fondamentaux\/130\" 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:\/\/learnifi.fr\/home\/course\/langage-c-devenir-d%C3%A9veloppeur-avec-les-fondamentaux\/130\" 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:\/\/learnifi.fr\/home\/course\/python-devenir-d%C3%A9veloppeur-avec-les-bases-solides\/129')\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#, une \u00e9num\u00e9ration est d\u00e9finie \u00e0 l&rsquo;aide du mot-cl\u00e9 <code>enum<\/code>. Une fois d\u00e9finie, une \u00e9num\u00e9ration offre un type fort sur lequel baser les choix de valeurs, r\u00e9duisant ainsi les erreurs li\u00e9es \u00e0 l&rsquo;usage de valeurs magiques dans le code. Voici comment il est possible de cr\u00e9er une \u00e9num\u00e9ration simple :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9clarer une \u00c9num\u00e9ration en C#<\/h3>\n\n\n\n<p>Pour commencer, d\u00e9finissons ensemble une \u00e9num\u00e9ration pour repr\u00e9senter les jours de la semaine, concept crucial qui s&rsquo;ajoute aux ressources telles que notre [d\u00e9couverte de la syntaxe C#](https:\/\/wikiform.fr\/codespace\/structure-syntaxe-csharp-guide-detaille). Cela peut \u00eatre particuli\u00e8rement utile pour toute application n\u00e9cessitant une planification ou un traitement temporel :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>enum DayOfWeek\n{\n    Monday,\n    Tuesday,\n    Wednesday,\n    Thursday,\n    Friday,\n    Saturday,\n    Sunday\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les \u00c9num\u00e9rations pour Contr\u00f4ler les Flux de Programme<\/h3>\n\n\n\n<p>Les \u00e9num\u00e9rations peuvent \u00eatre utilis\u00e9es pour faciliter le contr\u00f4le des flux dans le code C#. Dans cet exemple, nous utilisons notre \u00e9num\u00e9ration <code>DayOfWeek<\/code> pour d\u00e9terminer si un jour donn\u00e9 est un jour de semaine ou un week-end, renfor\u00e7ant les notions abord\u00e9es dans nos articles sur [l&rsquo;exploitation des saisies claviers](https:\/\/wikiform.fr\/codespace\/exploiter-saisie-clavier-readline-csharp-facile) :<\/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        DayOfWeek today = DayOfWeek.Wednesday;\n        \n        if (today == DayOfWeek.Saturday || today == DayOfWeek.Sunday)\n        {\n            Console.WriteLine(\"C'est le week-end !\");\n        }\n        else\n        {\n            Console.WriteLine(\"Travaillez dur, c'est un jour de semaine.\");\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Convertir des Valeurs Enti\u00e8res en \u00c9num\u00e9rations<\/h3>\n\n\n\n<p>Les \u00e9num\u00e9rations en C# sont g\u00e9n\u00e9ralement associ\u00e9es \u00e0 des valeurs enti\u00e8res sous-jacentes, par d\u00e9faut type <code>int<\/code>. Il est possible de convertir entre ces valeurs enti\u00e8res et les \u00e9num\u00e9rations en utilisant un casting explicite :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>int dayNumber = 4;\nDayOfWeek day = (DayOfWeek)dayNumber;\nConsole.WriteLine(day); \/\/ Affiche \"Thursday\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Assigner des Valeurs Sp\u00e9cifiques aux \u00c9num\u00e9rations<\/h3>\n\n\n\n<p>Dans certaines situations, vous pourriez souhaiter associer des valeurs sp\u00e9cifiques aux membres d&rsquo;une \u00e9num\u00e9ration. Cela est particuli\u00e8rement utile si vous travaillez avec des syst\u00e8mes externes o\u00f9 les valeurs num\u00e9riques correspondent \u00e0 des informations critiques :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-csharp\"><code>enum HttpStatusCode\n{\n    OK = 200,\n    BadRequest = 400,\n    Unauthorized = 401,\n    NotFound = 404\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Avantages des \u00c9num\u00e9rations en Programmation<\/h3>\n\n\n\n<p>L&rsquo;utilisation d&rsquo;\u00e9num\u00e9rations pr\u00e9sente de nombreux avantages qui facilitent le processus de d\u00e9veloppement en C# :<\/p>\n<ul>\n<li><strong>Lisibilit\u00e9 Am\u00e9lior\u00e9e :<\/strong> Les noms symboliques d\u00e9crivent plus clairement les intentions du programme, rempla\u00e7ant les valeurs num\u00e9riques magiques.<\/li>\n<li><strong>S\u00e9curit\u00e9 de Type :<\/strong> Les \u00e9num\u00e9rations restreignent les valeurs attribu\u00e9es \u00e0 celles d\u00e9finies, r\u00e9duisant ainsi les erreurs.<\/li>\n<li><strong>Facilit\u00e9 de Maintenance :<\/strong> Les modifications aux valeurs ou \u00e0 la structure d&rsquo;une \u00e9num\u00e9ration se propagent automatiquement dans l&rsquo;ensemble du code.<\/li>\n<\/ul>\nPour approfondir ces aspects, notre s\u00e9rie [sur les variables en C#](https:\/\/wikiform.fr\/codespace\/variables-csharp-guide-indispensable) offre des explications d\u00e9taill\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion sur les \u00c9num\u00e9rations C#<\/strong><\/h2>\n\n\n\n<p>Les <strong>\u00e9num\u00e9rations (constantes) en C#<\/strong> sont puissantes et polyvalentes, bichonnant votre code en am\u00e9liorant sa lisibilit\u00e9, en renfor\u00e7ant les contraintes de type et en simplifiant la gestion de valeurs constantes. Poursuivez votre exploration des \u00e9num\u00e9rations pour d\u00e9bloquer tout leur potentiel et optimiser l&rsquo;efficacit\u00e9 de votre code. Pour en savoir plus sur l&rsquo;utilisation des \u00e9num\u00e9rations et d&rsquo;autres concepts avanc\u00e9s en C#, rejoignez notre [cours avanc\u00e9 sur C#](https:\/\/examplecoursesite.com\/course\/csharp-advanced). Enfin, pour confronter les concepts abord\u00e9s ici avec des cas pratiques et interactifs, n\u2019h\u00e9sitez pas \u00e0 explorer les [tutoriels sp\u00e9cialis\u00e9s sur l&rsquo;installation de Visual Studio](https:\/\/wikiform.fr\/codespace\/installation-facile-visual-studio-ide-details) disponibles sur notre plateforme de formation.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/learnify-formation-C-offre-50.gif\" target=\"_blank\" rel=\"noopener noreferrer\"><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=\"\"><\/a>\n\n\n\n<a href=\"https:\/\/learnifi.fr\/home\/course\/langage-c-devenir-d%C3%A9veloppeur-avec-les-fondamentaux\/130\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/exampleimagesite.com\/wp-content\/uploads\/2024\/07\/learnify-formation-Csharp-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation C# Offre 50%\" title=\"\"><\/a>\n\n\n<!-- External Resources -->\n<p>Pour plus de d\u00e9tails, vous pouvez consulter des ressources fiables telles que Microsoft Docs pour les <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/enumeration-types\" target=\"_blank\" rel=\"dofollow noopener\">types d&rsquo;\u00e9num\u00e9rations en C#<\/a>, ainsi que des articles sur Geeks for Geeks sur la <a href=\"https:\/\/www.geeksforgeeks.org\/enumeration-in-c-sharp\/\" target=\"_blank\" rel=\"dofollow noopener\">programmation avec les \u00e9num\u00e9rations<\/a>.<\/p>\n\u00ab\u00a0`","protected":false},"excerpt":{"rendered":"<p>\u00ab\u00a0`markdown Les \u00c9num\u00e9rations (Constantes) en C# constituent un outil essentiel pour la cr\u00e9ation de programmes clairs et faciles \u00e0 maintenir. Les \u00e9num\u00e9rations permettent de regrouper&#8230;<\/p>\n","protected":false},"author":3,"featured_media":3320,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25],"tags":[18],"class_list":["post-6290","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\/6290","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=6290"}],"version-history":[{"count":2,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/6290\/revisions"}],"predecessor-version":[{"id":6298,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/6290\/revisions\/6298"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/3320"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=6290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=6290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=6290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}