Quel est le role de l'instruction using dans une fonction
Utilisateur anonyme -
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
- Quel est le role de l'instruction using dans une fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
4 réponses
Google :
"msdn C# using"
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-statement
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