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 991647
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T06:08:35+00:00 2026-05-16T06:08:35+00:00

Three questions: What kind of variables should be disposed manually in .NET/Java? I know

  • 0

Three questions:

  1. What kind of variables should be disposed manually in .NET/Java? I know that SqlConnection should always be either disposed manually or used in a using{} block. Is it right? What are the other kind of variables that should be disposed?

  2. I read somewhere that unmanaged code must be disposed manually. Is that right? What exactly is unmanaged code and how do I know if a variable is managed or unmanaged?

  3. Finally, how do I dispose variables? I know that the Dispose() method does not really dispose a variable. So what does Dispose() do? Should I set them to null()? What is the logic by which the garbage collector works?

  • 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-05-16T06:08:35+00:00Added an answer on May 16, 2026 at 6:08 am

    This answer deals only with the .NET part of your question

    What kind of variables should be disposed manually in .NET/Java? I know
    that SqlConnection should always be
    either disposed manually or used in a
    using{} block. Is it right? What are
    the other kind of variables that
    should be disposed?

    In .NET, all objects that implement IDisposable should be disposed explicitly (or used in a using block).

    I read somewhere that unmanaged code must be disposed manually. Is
    that right? What exactly is unmanaged
    code and how do I know if a variable
    is managed or unmanaged?

    You probably mean unmanaged resources, as code can’t be disposed… All classes that use unmanaged resources (memory allocated not on the managed heap, win32 handles…) should implement IDisposable, and should be disposed explictly, since they are not managed by the garbage collector.

    Finally, how do I dispose variables? I know that the Dispose()
    method does not really dispose a
    variable. So what does Dispose() do?
    Should I set them to null()? What is
    the logic by which the garbage
    collector works?

    I’m not sure I understand your question… you don’t dispose a variable, it is managed by the garbage collector. All managed memory is automatically released when it’s not used anymore (i.e. it is not accessible by code because there are no references left to it). The IDisposable.Dispose method is only intended for resources that are not managed by the GC.


    EDIT: as a side note, I would like to add that IDisposable is primarily intended to clean-up unmanaged resources, but is also frequently used to perform other cleanup actions and guarantee state or data integrity. For instance, IDbTransaction implements IDisposable in order to rollback the transaction if an exception occurs before the transaction was committed :

    using (var trx = connection.BeginTransaction())
    {
        // Do some work in the transaction
        ...
    
        // Commit
        trx.Commit();
    
    } // the transaction is implicitly rolled back when Dispose is called
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

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.