使用continue在循环中使用

Pet*_*ano 3 c# performance idisposable continue while-loop

给出以下示例代码:

var count = 0;
while (count < 5)
{
    using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri))
    using (var response = await StaticHttpClient.Client.SendAsync(request))
    {
        if (!response.IsSuccessStatusCode)
        {
            switch ((int)response.StatusCode)
            {
                case 500:
                case 504:
                    continue;
            }
        }
        else
        {  ... }
    }

    count++;
}
Run Code Online (Sandbox Code Playgroud)

这些IDisposable对象是否会在此方法中泄漏内存,还是会正确调用Dispose方法?(交换机中缺少许多情况,我并不关心那里的效率).

Ree*_*sey 6

这些IDisposable对象是否会在此方法中泄漏内存,还是会正确调用Dispose方法?

Dispose()自从您使用using声明后,一次性用品将被正确调用.当你continue,Dispose()在下一次循环迭代之前调用这些方法.