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

  • SEARCH
  • Home
  • 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 8571965
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T18:53:57+00:00 2026-06-11T18:53:57+00:00

I used to dispose elements of type : SqlConnection SqlDataAdapter DataSet etc. But i

  • 0

I used to dispose elements of type :

SqlConnection
SqlDataAdapter
DataSet etc.

But i am not sure whether it is needed to dispose for objects of type:

    string[] str = ;
    ArrayList etc.

Object of some class

If it is needed..Please tell me if it is ok just to dispose it this way

If(str != null)
{
  str = null;
}

Please suggest me if any better way is there to address this.

  • 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-11T18:53:59+00:00Added an answer on June 11, 2026 at 6:53 pm

    No, only objects implementing the IDisposable interface need to be deterministacally disposed of. Ideally you should wrap them in using statement and not call the .Dispose method manually:

    using (var conn = new SqlConnection(ConnectionString))
    using (var cmd = conn.CreateCommand())
    {
        conn.Open();
        cmd.CommandText = "SELECT foo FROM bar";
        using (var reader = cmd.ExecuteCommand())
        {
            while (reader.Read())
            {
                // TODO: consume your resultset
            }
        }
    }
    

    or streams:

    using (var stream = new MemoryStream())
    {
        ...
    }
    

    or files:

    using (var file = File.OpenRead())
    {
        ...
    }
    

    or readers:

    using (var reader = XmlReader.Create("foo.xml"))
    {
        ...
    }
    

    The IDisposable pattern is used in .NET when an object is holding references to unmanaged objects that need to be disposed and the CLRT cannot track and dispose those unmanaged resources automatically. In this case it is up to the developer to dispose them deterministically as soon as he has finished using them (by wrapping them in using statements as shown previously). For all other objects that do not implement the IDisposable interface you should leave the memory menagement to the CLR and the Grbage Collector which will track them and automatically release the memory they are holding when no more references are pointing to them. You, as a developer should not worry about it.

    So here’s the rule of thumb:

    When you instantiate some variable, if this variable implements IDisposable then wrap it in a using statement, if not, then leave it to the Garbage Collector.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Here i used the dispose method in aspx.cs, but i am not sure wheather
i Dispose an SqlConnection object, but of of course it isn't really closed .
The Entity Framework context object implements a Dispose() method which Releases the resources used
i used this code: List<string> lists=new List<string>(apple,orange,banana,apple,mang0,orange); string names; names=lists.Distinct() is that correct?
I used to be pretty sure the answer is no, as explained in Overriding
Possible Duplicate: Should I Dispose() DataSet and DataTable? OP comment: I would like to
How are the objects created or used in a P/invoke function or RCW native
I have a doubt that whether FreeAndNil is the ideal approach to dispose an
If I recall correctly that when I used yield inside using SqlConnection blocks I
I'm new to nhibernate (but used hibernate for java before). I built a session

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.