using-Schreibweise in C#

OP #5869623
Lesenswert?

Angenommen ich habe so einen Code.
"en" soll nur innerhalb den geschweiften Klammern {} sichtbar sein.
1
List<string> list=new List<string>{"1","2","3","4","5","6","7","8"};
2
using(IEnumerator<string> en = list.GetEnumerator())
3
{
4
    while(en.MoveNext())
5
    {
6
        string xx = en.Current;
7
    Console.WriteLine(":"+xx);
8
    }
9
}

Man könnte es aber auch so schreiben.
"en" hätten den gleichen Scope innerhalb von {}
1
List<string> list=new List<string>{"1","2","3","4","5","6","7","8"};
2
{
3
    IEnumerator<string> en = list.GetEnumerator()
4
    while(en.MoveNext())
5
    {
6
        string xx = en.Current;
7
    Console.WriteLine(":"+xx);
8
    }
9
}

Was sind die Unterschiede der beiden Schreibweisen?
#5869624
Lesenswert?

Ohne using wird nicht automatisch Dispose() aufgerufen. Das ist dann 
wichtig, wenn das Objekt Ressourcen belegt, die nicht nur Speicher sind 
(z.B. DB-Verbindungen, Locks), und bei denen man verhindern will, dass 
sie erst später vom Garbage Collector freigegeben werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren