what is the difference between finally and dispose methods?

Answers were Sorted based on User's Feedback



what is the difference between finally and dispose methods?..

Answer / 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

what is the difference between finally and dispose methods?..

Answer / sunil

finally will execute after the try block. It must execute
if there is any exception caught in the catch blobk or not.

Dispose method is the last method executed in the c# program

Is This Answer Correct ?    12 Yes 16 No

what is the difference between finally and dispose methods?..

Answer / m.m.ganesh

compulsory finally will execute after try and catch
block.Dispose method is used to clean up the
objects.Dispose methos will call in finally method to clean
up the objects

Is This Answer Correct ?    6 Yes 19 No

Post New Answer

More C Sharp Interview Questions

Give some examples of commonly used i/o classes?

1 Answers  


Integer at long type variable are not object.Support your answer with example.And explain the technique to convert from value type to reference type and vice-versa.

1 Answers   HCL,


What is meant by clr?

1 Answers  


What is a string c#?

1 Answers  


How to create events for a control? What is custom events? How to create it?

1 Answers  


What is escape character in c#?

1 Answers  


How can you prevent escaping on backslashes in C# with string definitions?

1 Answers   Siebel,


What are custom attributes in c#?

1 Answers  


Illustrate the differences between the system.array.copyto() and system.array.clone()?

1 Answers  


I have 3 overloaded constructors in my class. In order to avoid making instance of the class do I need to make all constructors to private?

1 Answers  


Where is the output of TextWriterTraceListener redirected?

1 Answers  


C# provides a default constructor for me. I write a constructor that takes a string as a parameter, but want to keep the no parameter one. How many constructors should I write?

3 Answers   Visual Soft,


Categories