Chargement...

Tableaux

string[] plants = { "leaf", "mint" }; garde deux mots sous un nom, et Console.WriteLine(plants[0]) écrit leaf. L'écran est une ligne. mint n'est pas sur cette ligne, et il n'y a pas de deuxième ligne. Gardez la classe publique nommée Pine.

Un nom tient deux mots

Ouvrez le fichier Pine. Le nom de la classe reste Pine. Cette page ne renomme pas le type. Supprimez string plant = null si cette ligne est encore là. Supprimez plant.Length. Supprimez int count si cette ligne est encore là, y compris (int), 40.0, 40.9 et 40. Supprimez double weight s'il est encore là. Supprimez bool ripe s'il est encore là, y compris true et false. Supprimez toute ligne ReadLine. Le fichier que vous gardez n'a ni attente, ni count, ni weight, ni ripe, ni un plant seul qui garde null. Le mot n'est écrit que par la ligne d'écriture qui choisit un emplacement.

Dans Main, la ligne de rangement est string[] plants = { "leaf", "mint" };. string[] est le mot de genre. Les crochets font partie de ce genre. Ils disent que ce nom peut garder plus d'un mot. plants est le nom, et il commence par un p minuscule. Le signe = range. Les accolades tiennent les mots. Chaque mot est dans ses guillemets. Une virgule sépare les mots. leaf est le premier mot. mint est le deuxième. Le point-virgule termine la ligne. Cette ligne garde deux mots. Elle n'écrit pas l'écran. Ranger n'est pas écrire. L'écran reste vide jusqu'à la fin de cette ligne. Ces deux mots ne sont pas le nombre 0, et ils ne sont pas le mot null. Rien n'attend hors écran sous un second nom. Les deux mots sont sous plants.

Les mots que vous mettez dans les accolades sont les emplacements. Deux mots entre guillemets font deux emplacements. Vous n'inventez pas un troisième mot dans le fichier que vous gardez. string[] plants = { "leaf", "mint", "stem" }; garde trois mots. Ce fichier est permis, et ce n'est pas le fichier que vous gardez. string[] plants = { leaf, mint }; prend leaf et mint pour des noms. Ce fichier n'a pas ces noms. Le build écrit une erreur. string[] plants = { "leaf" "mint" }; n'a pas de virgule. Le build écrit une erreur. La virgule sépare les deux mots. string[] plants = { 40, 9 }; demande à ce genre de garder des entiers. Les mots du fichier que vous gardez sont leaf et mint, pas des chiffres. Le build écrit une erreur. Le mot de genre avec les crochets, sur cette page, garde des mots entre guillemets.

La ligne d'écriture choisit un emplacement : Console.WriteLine(plants[0]);. Les crochets après le nom tiennent un nombre. Ce nombre est 0. L'emplacement 0 est le premier mot, parce que le compte des emplacements commence à 0, pas à 1. Il n'y a pas de guillemet autour de 0. Il n'y a pas de point, et il n'y a pas de Length. C# lit plants, lit le nombre 0, écrit le mot de cet emplacement, et termine la ligne. Pour le fichier que vous gardez, ce mot est leaf. Les lettres du nom, p, l, a, n, t, s, ne sont pas sur l'écran. string n'est pas sur l'écran. Les accolades ne sont pas sur l'écran. La virgule n'est pas sur l'écran. mint n'est pas sur l'écran. Le mot leaf est sur l'écran, une ligne. Enregistrez le fichier.

Le fichier que vous gardez

Gardez cette forme d'enseignement. Un mot de genre, string[]. Un nom, plants. Deux mots dans les accolades, leaf puis mint, chacun entre guillemets, avec une virgule entre eux. Une ligne d'écriture, et cette ligne choisit l'emplacement 0. Pas de Length, et pas de deuxième ligne d'écriture.

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[0]);
    }
}

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ù le runtime commence. La ligne de rangement est string[] plants = { "leaf", "mint" };. Elle n'écrit rien. Console.WriteLine(plants[0]); écrit leaf et termine la ligne. Une ligne sur l'écran. Pas de deuxième ligne. Il n'y a pas de ligne int dans le fichier que vous gardez, et il n'y a pas de ligne qui range null.

Exécutez avec dotnet run. Le programme écrit leaf. Il n'attend pas que vous tapiez. Les mots étaient rangés dans le fichier avant l'exécution. Si dotnet run attend, ReadLine est encore dans le fichier. Supprimez cette ligne et gardez string[] plants = { "leaf", "mint" }; et la seule ligne d'écriture. Le programme se termine après la ligne d'écriture. L'écran montre leaf. Une ligne. Si l'écran montre mint, la ligne d'écriture a pris l'emplacement 1, ou le premier mot dans les accolades est mint. Regardez le fichier. Le fichier que vous gardez a leaf en premier et plants[0] sur la ligne d'écriture. Si l'écran montre plant, la ligne d'écriture a des guillemets autour d'un autre nom. Si l'écran montre les lettres plants[0], la ligne d'écriture a des guillemets autour de ces lettres : Console.WriteLine("plants[0]");. Ces guillemets marquent des lettres, donc le mot rangé n'est pas écrit. Si l'écran montre null, le fichier null est encore en place, ou les emplacements ont été créés sans mots dans les accolades. Le fichier que vous gardez a leaf et mint dans les accolades. Si l'écran montre 40, ou 40.0, ou 4, le fichier de conversion, le fichier de nombres, ou une question Length est encore en place. Supprimez cette ligne. Si l'écran montre true ou false, ripe est encore dans le fichier. Si l'écran montre une ligne vide et pas le mot leaf, une ligne de rangement a encore des guillemets vides. Ce n'est pas le fichier que vous gardez. Vous ne réinstallez pas le kit .NET SDK pour un écran qui montre la mauvaise ligne.

Un écran qui montre leaf ne prouve pas, à lui seul, les crochets. string plant = "leaf"; écrit aussi leaf. L'écran peut sembler pareil. Le fichier ne l'est pas. Le fichier que vous gardez a string[], des accolades, une virgule, et la ligne d'écriture a plants[0]. Quand vous jugez cette page, cherchez les crochets sur le mot de genre et cherchez le nombre 0. Ne jugez pas le fichier depuis l'écran seul.

L'autre mot est à 1

Le deuxième mot est dans le fichier, et la ligne d'écriture gardée ne l'écrit pas. Pour voir mint, le nombre entre crochets est 1. L'emplacement 1 est le deuxième mot, parce que l'emplacement 0 était le premier. Cette exécution est permise, et ce n'est pas le fichier que vous gardez.

the second word

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[1]);
    }
}

Exécutez dotnet run. L'écran montre mint. Une ligne. leaf n'est pas sur cette ligne. La ligne de rangement n'a pas changé. Seul le nombre entre crochets a changé. 1 ne veut pas dire « le premier mot ». Le premier mot reste leaf, à l'emplacement 0. Après avoir vu mint, remettez plants[0]. Le fichier que vous gardez écrit leaf.

📊 Le nombre entre crochets et l'écran

Le nombre L'écran
0 leaf
1 mint
2 l'exécution écrit une erreur
string plants = { "leaf", "mint" }; le build écrit une erreur

Lisez le tableau face à une exécution, pas à la place d'une. Pour 0, le build n'écrit pas d'erreur et dotnet run écrit leaf. Pour 1, le build n'écrit pas d'erreur et dotnet run écrit mint. Pour 2, le build n'écrit pas d'erreur et l'exécution écrit une erreur, parce que cet emplacement n'était pas dans les accolades. Pour string plants = { "leaf", "mint" }; sans crochets sur le mot de genre, le build écrit une erreur, donc vous n'exécutez pas. Après chaque vérification, remettez le fichier gardé : string[], accolades, leaf puis mint, et plants[0]. L'écran gardé est leaf, une ligne.

Le nom doit exister avant qu'une ligne l'utilise. Si Console.WriteLine(plants[0]); est au-dessus de la ligne de rangement, le build écrit une erreur. Placez la ligne de rangement au-dessus de la ligne d'écriture. N'écrivez pas string[] une deuxième fois pour le même nom. Une ligne plus tard peut remplacer un mot sans réécrire string[], une fois que plants existe déjà : plants[0] = "stem";. Cette ligne ne remplace que le mot à l'emplacement 0. L'emplacement 1 garde encore mint. C'est permis. Ce n'est pas le fichier que vous gardez. Le fichier que vous gardez a une ligne de rangement, et cette ligne dit leaf puis mint.

string[] plants; sans accolades ni mots, suivi de la ligne d'écriture, fait écrire une erreur au build. Le nom existerait comme genre, sans mots encore. Mettez les accolades sur la ligne de création, comme dans le fichier que vous gardez. string[] plants = { "leaf" }; garde un mot. plants[0] écrit leaf. plants[1] est un emplacement que vous n'avez pas écrit, donc l'exécution écrit une erreur après un build tranquille. Ce fichier à un mot n'est pas le fichier que vous gardez. Un espace manquant ne colle pas le genre en un genre qui échoue : string[]plants garde encore les deux mots, et le build n'écrit pas d'erreur. Le fichier que vous gardez a un espace après string[]. string [] plants avec un espace avant plants garde encore les deux mots. plants[ 0 ] avec des espaces dans les crochets écrit encore leaf. Le fichier que vous gardez n'a pas d'espace en trop, mais cet espace n'est pas une deuxième valeur.

Les accolades ne sont pas des parenthèses. string[] plants = ( "leaf", "mint" ); fait écrire une erreur au build. Les mots sont dans des accolades, { et }, pas dans ( et ). La ligne d'écriture n'est pas un appel avec des parenthèses autour du nombre. Console.WriteLine(plants(0)); fait écrire une erreur au build. Le nombre est entre crochets, [ et ]. Le nom reste plants, avec un p minuscule. string[] Plants avec un P majuscule est un autre nom. Il peut garder les mots, et ce n'est pas le nom du fichier que vous gardez. Remettez le p minuscule.

Une virgule après le dernier mot n'ajoute pas d'emplacement. string[] plants = { "leaf", "mint", }; garde encore deux mots. Le build n'écrit pas d'erreur. plants[0] écrit encore leaf, et plants[1] écrit encore mint. Il n'y a pas de troisième mot. Le fichier que vous gardez n'a pas de virgule après mint, mais cette virgule en trop n'est pas une troisième valeur. new n'est pas requis. string[] plants = new string[] { "leaf", "mint" }; garde aussi les deux mots, et plants[0] écrit encore leaf. Le fichier que vous gardez n'écrit pas new. string[] plants = new string[2]; crée deux emplacements sans y mettre de mots. plants[0] écrit alors null. Ces emplacements ne gardent pas de lettres. Ce n'est pas le fichier que vous gardez. Les mots leaf et mint doivent être dans les accolades.

Un emplacement que vous n'avez pas écrit

Deux mots font deux emplacements, numérotés 0 et 1. Le nombre 2 est un troisième emplacement. Vous n'avez pas écrit de troisième mot. Le troisième fichier demande cet emplacement.

a slot you did not write

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[2]);
    }
}

C'est le troisième fichier. Ce n'est pas le fichier que vous gardez. Exécutez dotnet run. Le build peut rester tranquille, parce que ces lignes ont le droit d'être dans le fichier. Le nombre 2 ne fait pas échouer le build. Le programme n'écrit pas leaf, ni mint, ni 2, ni null. L'exécution écrit une erreur. Vous n'avez pas besoin des mots exacts de cette erreur. Les accolades tenaient deux mots, donc il n'y a pas de troisième mot à écrire. plants[-1] n'est pas un moyen de prendre le dernier mot. Le build n'écrit pas d'erreur, et l'exécution écrit une erreur. Les nombres qui vont avec le fichier que vous gardez sont 0 et 1 seulement. Si l'écran montre mint, le nombre entre crochets est 1, et le deuxième mot est toujours là. Après avoir vu l'erreur, remettez le fichier gardé.

Un nom qui ne garde aucun emplacement est un autre échec, et l'écran n'est pas le mot null. string[] plants = null; ne garde aucun emplacement. Le build n'écrit pas d'erreur. Console.WriteLine(plants[0]); fait alors écrire une erreur à l'exécution. Il n'écrit pas null, et il n'écrit pas leaf. Les crochets sur la ligne d'écriture demandent un emplacement, et ce nom n'en a pas. Ce fichier n'est pas le fichier que vous gardez. Le fichier que vous gardez a des accolades, et les accolades tiennent leaf et mint.

Vous pouvez maintenant garder deux mots sous un nom et écrire le premier. string[] plants = { "leaf", "mint" }; garde leaf et mint. Console.WriteLine(plants[0]); écrit leaf et termine la ligne. plants[1] écrit mint, et ce n'est pas le fichier que vous gardez. plants[2] laisse le build tranquille et fait écrire une erreur à l'exécution. Un nom string sans crochets ne peut pas tenir les accolades. La page suivante laisse ces crochets. Elle regarde un signe écrit entre deux nombres entiers.

L'écran est le premier mot

Le fichier que vous gardez écrit leaf. Le nom sur la ligne d'écriture est plants, et plants n'est pas sur l'écran. Le nombre entre crochets est 0. mint est le deuxième mot, et il reste dans le fichier pendant que l'écran montre leaf. Un numéro d'emplacement que vous n'avez pas écrit n'est pas le fichier que vous gardez. Des guillemets autour de plants[0] écrivent des lettres, pas le mot dans l'emplacement.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
5
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 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