Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

what is the difference between finally and dispose methods?

Answer Posted / monika

The important difference is timing. Finalize is called
after the .NET garbage collector runs. That can take a
while, depending on how frequently you allocate memory and
in what generation the object lives. Dispose() is the
standardized way to free up the unmanaged resources your
object uses well before the finalizer gets a chance to do
so. A Bitmap would be a good example, it takes very few
managed resources but can eat a huge chunk of unmanaged
memory, depending on the size of the bitmap. If you don't
call Dispose on it after you're done using it, your app can
potentially consume large amounts of unused memory for an
extended amount of time.

While Finalize is called automatically, Dispose() isn't.
You must call it explicitly or you can use the V2.0 "using"
statement in VB.NET or C#. Or the "stack allocation"
syntax in C++/CLI. Using "using" is preferred, it ensures
Dispose() is called, even if there's an exception. When
Dispose() runs, you won't need the finalizer anymore so
call GC.SuppressFinalize(). That makes the finalizer
thread running a lot leaner too.

You don't have to implement Dispose() if your class doesn't
consume unmanaged resources. If it has a member that
implements Dispose(), you'll need to implement Dispose()
too so you can call that member's Dispose() method.

Is This Answer Correct ?    53 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Do we get an error while executing the “finally” block in c#?

959


Explain what are the steps for creating clr trigger?

910


What are the advantages of clr procedure over t-sql procedure?

1002


What is the predicate of a sentence?

920


How is a loop recorder monitored?

932


Which is better interface or abstract class in c#?

814


What is list collection in c#?

963


What is the difference between func and action delegate?

947


How many root nodes are there in an xml document?

861


Why do we use inheritance in c#?

907


What are the Types of values mode can hold session state in web.config

1007


What is the default value of singleordefault?

953


What is platform independence"?

943


What is datasource c#?

905


What is JIT (just in time)? how it works?

1005