Quel est le role de l'instruction using dans une fonction

Fermé
Mourad2009B Messages postés 108 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 octobre 2024 - 15 janv. 2023 à 17:33
 Utilisateur anonyme - 19 janv. 2023 à 12:16

bonjour a tous, 
Je suis débutant en c#, et j'aimerai savoir quel est le rôle de USING dans une fonction, je sais qu'elle remplace include et Import dans d'autres langages, mais je n'ai pas compris son rôle dans une fonction comme par exemple :

string manyLines = @"This is line one
This is line two
Here is line three
The penultimate line is line four
This is the final, fifth line.";

using (var reader = new StringReader(manyLines))
{
    string? item;
    do
    {
        item = reader.ReadLine();
        Console.WriteLine(item);
    } while (item != null);
}
string? item;

et si j'ai bien compris le ? après le type d'une variable veut dire qu'elle peut être nulle c'est ça?

Merci d'avance pour votre aide.


Windows / Chrome 108.0.0.0

A voir également:

4 réponses

NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 343
15 janv. 2023 à 18:16
0
Utilisateur anonyme
15 janv. 2023 à 19:30

Bonsoir

puisque le code que tu postes est celui de la doc, j'imagine que tu ne l'as pas comprise.

Voila la même en français https://learn.microsoft.com/fr-fr/dotnet/csharp/language-reference/keywords/using-statement

Voir les commentaires 

using (var reader = new StringReader(manyLines))// cette ligne déclare et iniatialise la variable redader, using borne la portée de cette variable
{
    string? item;
    do
    {
        item = reader.ReadLine();
        Console.WriteLine(item);
    } while (item != null);
}// après cette accolade, la variable reader n'existe plus, elle est "disposée", ça veut dire que la méthode Dispose() est déclenchée et que cette méthode doit libérer toutes les ressources utilisées par reader

La variable item non plus n.est plus utilisable après l'accolade, mais elle n'est pas disposée.

Pour ta seconde question, oui ajouter un ? derrière un type non nullable (comme, char, int ou double)  veut dire que la variable pourra être nulle, alors que de base non.

Cependant, en principe string est nullable. Mais dans cette doc, contrairement à souvent, on ne peut pas choisir quel .Net est concerné. Il y a peut-être une subtilité, en fonction du .Net 


0
Mourad2009B Messages postés 108 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 octobre 2024
19 janv. 2023 à 12:08

Merci pour vos réponses, ça m'a beaucoup aidé.

0
Utilisateur anonyme
19 janv. 2023 à 12:16

De rien


0