Bir C# yineleyici bloğunda, foreach uçları (doğal olarak bozulduğunda) çalıştırılacak kod bloğunu sağlamak için kaynakların temizlenmesini söyleyecek bir yol var mı?'Nihayet' Yineleyicilerde Engelle
En iyisi, en iyisi olan, ancak yapıyı temizlemek için IDisposable sınıfına ihtiyaç duyan kullanma yapısını kullanmak. Örneğin:
public static IEnumerable<string> ReadLines(this Stream stream)
{
using (StreamReader rdr = new StreamReader(stream))
{
string txt = rdr.ReadLine();
while (txt != null)
{
yield return txt;
txt = rdr.ReadLine();
}
rdr.Close();
}
}