Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8665413
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T17:28:35+00:00 2026-06-12T17:28:35+00:00

If you use the using method instead of lets say FileStream.Close(); , will the

  • 0

If you use the using method instead of lets say FileStream.Close();, will the class dispose correctly?

private static string GetString()
{
    using(FileStream fs = new FileStream("path", FileMode.Open))
    using(StreamReader sr = new StreamReader(fs))
    {
         return sr.ReadToEnd();
    }
}

is equivalent to:

private static string GetString()
{
    string toReturn = "";           

    FileStream fs = new FileStream("path", FileMode.Open)
    StreamReader sr = new StreamReader(fs)

    toReturn = sr.ReadToEnd();

    sr.Close();
    fs.Close();

    return toReturn;
}

or to:

private static string GetString()
{
    FileStream fs;
    StreamReader sr;

    try
    {
        string toReturn = "";          

        fs = new FileStream("path", FileMode.Open)
        sr = new StreamReader(fs)

        toReturn = sr.ReadToEnd();

        sr.Close();
        fs.Close();

        return toReturn;
    }
    finally
    {
       if(sr != null)
           sr.Close();

       if(fs != null)
           fs.Close();
    }
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T17:28:36+00:00Added an answer on June 12, 2026 at 5:28 pm

    The code generated from a using statement is very similar to your second example (the biggest difference being that it calls IDisposable.Dispose instead of Close). It will always properly dispose of the objects, whether the method exits through a return or a thrown exception.

    In case you’re curious, this is the C# code without usings that compiles to the same IL as your example with usings:

    private static string GetString()
    {
        FileStream fs = new FileStream("path", FileMode.Open);
        try
        {
            StreamReader sr = new StreamReader(fs);
            try
            {
                return sr.ReadToEnd();
            }
            finally
            {
                if (sr != null)
                    ((IDisposable)sr).Dispose();
            }
        }
        finally
        {
            if (fs != null)
                ((IDisposable)fs).Dispose();
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would like to use the group_by method, but instead of using a column
When using the select.select() method in Python, is there any way to use input
Using PHP's Image and GD functions you can use the following method to finally
I'm attempting to use the DatabaseFactory method from the Microsoft Enterprise Library. using Microsoft.Practices.EnterpriseLibrary.Data;
I am trying to use the JsHelper::event method on my app, using the same
Using JavaScript, is it possible to use prototype to add a method to a
Using ASP.Net MVC 2, is there any way to use the RedirectToAction() method of
Why isn't viewDidUnload method called, when I'm not using xib and use alloc/init to
We are using Solr for it's full text search capability, lets say we are
I'd like to use a DataGridViewRowCollection in a LINQ expression using extension methods and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.