|
分類:[C# (Windows)]
はじめまして。
プログラミングしていて分からないことがあったので質問させてください。
usingステートメント内で、returnやbreak, continueなどを使って途中で抜けた場合、
オブジェクトはちゃんと破棄されるのでしょうか?
ちなみに.NET Framework2.0でC#を使っています。
たとえば下の例で、return trueで抜けた場合、StreamReaderはCloseされますか?
try 〜 finally 〜 と完全に等価であればされると思いますが、
明確な記述が見つからなかったので質問してみました。
よろしくお願いします。
例)1行目に指定された記述があるファイルが存在するかどうか調べるメソッド
public static bool Exists(string str)
{
string[] files = Directory.GetFiles("C:\\test");
for (int i = 0; i < files.Length; i++)
{
using (StreamReader sr = new StreamReader(files[i]))
{
if (str == sr.ReadLine())
return true;
}
}
return false;
}
|