Méthodes
Écrivez une méthode nommée ring qui écrit un mot : ding. Placez ces lignes d'écriture sous static void ring() avec des parenthèses vides. Dans Main, écrivez seulement ring(); — le nom, puis des parenthèses vides, puis un point-virgule. Lancez le programme. L'écran doit montrer une ligne : ding. Main ne tient pas le WriteLine pour ding. La méthode le tient. Cette séparation est ce que cette page enseigne. Gardez la classe publique nommée Pine.
Des lignes qui vivent sous ring
Jusqu'ici, la plupart de votre travail d'écriture était directement dans Main. Cela fonctionne toujours. Une méthode donne aux mêmes lignes un nom à elles. Vous écrivez les lignes une fois sous ce nom. Puis Main les demande en écrivant le nom comme un appel.
Ouvrez le fichier Pine. Le nom de la classe reste Pine. Cette page ne renomme pas le type. Supprimez tout foreach qui parcourt plants ou slots si cette forme est encore là. Supprimez un for compté avec break ou continue s'il est encore là. Supprimez toute ligne ReadLine. Le fichier que vous gardez n'attend pas de saisie et n'a pas de démo de boucle restante dans Main.
Hors de Main, toujours dans les accolades de la classe, vous écrirez static void ring() avec un corps qui exécute Console.WriteLine("ding");. Le programme complet est dans le cadre suivant pour un copier propre.
Le mot static reste sur cette forme débutant pour que Main puisse appeler ring sans créer d'objet. Le mot void signifie que cette méthode ne rend pas de valeur à l'appelant — elle exécute seulement son corps. Le nom ring est l'étiquette que vous taperez dans Main. Les parenthèses vides () signifient que la méthode de cette page ne prend aucune valeur en entrée. Les accolades tiennent le corps. Enregistrez le fichier avant de lancer.
Le fichier que vous gardez
Voici le petit programme complet de cette page. Main ne tient que l'appel. ring tient la ligne d'écriture. Il n'y a pas de compteur d'index et pas de parcours de tableau dans ce fichier gardé.
using System;
public class Pine
{
public static void Main()
{
ring();
}
static void ring()
{
Console.WriteLine("ding");
}
}
Lisez depuis le haut. using System; prépare les noms courts. public class Pine nomme le type. public static void Main() est l'endroit où l'exécution démarre. La seule instruction dans Main est ring();. Sous Main, toujours dans la classe, static void ring() tient Console.WriteLine("ding");. Une ligne à l'écran : ding.
Lancez avec dotnet run. Le programme écrit une ligne et s'arrête. Il n'attend pas que vous tapiez. Si dotnet run attend, ReadLine est encore dans le fichier. Supprimez cette ligne et gardez ring(); dans Main plus la méthode ring ci-dessus. L'écran montre ding. Si l'écran montre leaf et mint, un foreach restant écrit encore. Si l'écran montre les lettres ring, une ligne d'écriture a des guillemets autour de ce mot : Console.WriteLine("ring");. Vous ne réinstallez pas le kit SDK .NET pour un écran qui montre la mauvaise ligne.
Parcourez une exécution complète dans l'ordre. C# commence à Main. La seule instruction dans Main est ring();. Cet appel saute dans la méthode ring. Dans ring, WriteLine écrit ding. Puis ring se termine, et il ne reste rien dans Main, donc le programme se termine. Vous n'avez pas mis Console.WriteLine("ding"); dans Main sur cette page. Vous l'avez mis sous ring et demandé par nom. Si l'écran montre ding, l'appel a atteint le corps. Si l'écran reste vide après une compilation propre, Main n'a jamais appelé ring.
Voyez ring comme une étagère étiquetée pour les lignes d'écriture. Main n'a pas besoin de répéter ces lignes. Il lui suffit du nom de l'étagère écrit comme un appel. C'est pourquoi un Main court peut quand même produire une ligne d'écran claire : le travail vit sous le nom de la méthode, et l'appel est la demande. Une fois ce motif clair, ajouter un autre appel n'est qu'une autre demande à la même étagère de lignes d'écriture.
Appeler ring depuis Main plus d'une fois
Changez seulement Main pour qu'il appelle la même méthode deux fois. Laissez la méthode ring elle-même intacte. Le corps écrit encore ding une fois par appel.
using System;
public class Pine
{
public static void Main()
{
ring();
ring();
}
static void ring()
{
Console.WriteLine("ding");
}
}
C'est le second fichier. Ce n'est pas le fichier que vous gardez pour la forme à un appel, mais il enseigne la même méthode. Lancez dotnet run. L'écran doit montrer deux lignes, chacune disant ding. Le premier appel exécute le corps une fois. Le second appel exécute le même corps encore. Cette réutilisation est la raison de nommer les lignes. Vous n'avez pas copié le WriteLine une seconde fois sous ring. Vous avez écrit un second appel dans Main.
Si vous laissez seulement un ring();, l'écran revient à un seul ding. La définition de la méthode n'écrit pas toute seule. Seul un appel depuis Main exécute le corps. Un fichier qui définit ring mais ne l'appelle jamais peut compiler et quand même montrer un écran vide quand vous lancez. Après avoir vu deux lignes, remettez le fichier gardé à un appel si c'est la forme que vous voulez enregistrer : un ring(); dans Main.
Pièces d'un en-tête de méthode
Sur cette page l'en-tête est static void ring(). Lisez-le de gauche à droite. static laisse Main appeler la méthode sur cette forme débutant. void signifie qu'aucune valeur ne revient par l'appel. ring est le nom. () sont vides exprès : cette session ne passe ni mots ni nombres dans la méthode. La page suivante, parameters, place des noms à l'intérieur de ces parenthèses. La page d'après, return, change void quand vous avez besoin d'une valeur en retour. Gardez les deux pour plus tard. Aujourd'hui les () vides et void suffisent.
📊 Header piece on this page
| Piece | On this page |
|---|---|
static |
Main can call ring without an object |
void |
ring does not hand a value back |
ring |
the name you type in the call |
() |
no values go in on this page |
{ ... } |
the body that writes ding |
L'appel dans Main doit correspondre au nom exactement : ring(); avec un r minuscule, des parenthèses vides, et un point-virgule. Écrire Ring(); avec un R majuscule est un nom différent pour C#. Écrire ring sans () n'est pas un appel sur cette forme. Écrire Console.WriteLine("ring"); écrit les quatre lettres du mot ring ; cela n'exécute pas le corps de la méthode. Gardez l'appel comme ring(); quand vous voulez ding à l'écran.
Un reste courant est un ancien parcours foreach de plants encore assis dans Main à côté du nouvel appel. Alors l'écran peut montrer leaf et mint, ou 2, 4, et 6, au lieu de ding — ou les deux sortes de lignes mélangées. Videz Main jusqu'aux appels ring(); dont cette leçon a besoin. Une autre confusion est de mettre la méthode à l'intérieur des accolades de Main. Les méthodes de cette page se placent dans la classe, à côté de Main, pas imbriquées dans Main.
foreach de la page précédente parcourait des valeurs déjà rangées dans un tableau. Cette page ne parcourt pas un tableau. Elle nomme une méthode void et l'appelle. Ne laissez pas foreach (string plant in plants) dans le même Main et ne vous demandez pas pourquoi l'écran montre leaf au lieu de ding. Le Main gardé de cette session ne doit tenir que l'appel ring();. Le corps de la méthode tient la ligne d'écriture pour ding.
Vous pouvez maintenant écrire static void ring(), mettre un WriteLine dans ses accolades, et appeler ring() depuis Main pour que l'écran montre ding. Appeler deux fois écrit ding deux fois sans copier le corps. Les parenthèses vides et void restent sur cette page exprès. La page suivante est parameters, où des noms entrent dans les parenthèses pour que la méthode puisse utiliser des valeurs que vous passez depuis Main.
L'écran est le corps de la méthode
Le fichier que vous gardez écrit ding une fois quand Main a un appel. Le nom ring est dans l'appel, et les lettres ring ne sont pas à l'écran comme mot imprimé sauf si vous les avez mises entre guillemets. Des () vides siègent sur l'en-tête et sur l'appel. Imbriquer ring dans Main n'est pas la forme que cette leçon construit.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut