Forum: PC-Programmierung using-Schreibweise in C#


von J. W. (nuernberger)


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?

von Clemens L. (c_l)


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.

von Sven P. (Gast)


Lesenswert?


von Daniel -. (root)


Lesenswert?

nur als Anmerkung, zum Durchlaufen über einen Container ist

foreach(var i in list)

besser geeignet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.