Click here to Skip to main content
15,924,679 members
Home / Discussions / C#
   

C#

 
AnswerRe: Dispose Method Pin
Luc Pattyn30-Jul-07 3:06
sitebuilderLuc Pattyn30-Jul-07 3:06 
GeneralRe: Dispose Method Pin
Guffa30-Jul-07 4:12
Guffa30-Jul-07 4:12 
GeneralRe: Dispose Method Pin
Luc Pattyn30-Jul-07 4:50
sitebuilderLuc Pattyn30-Jul-07 4:50 
GeneralRe: Dispose Method [modified] Pin
Martin#30-Jul-07 5:20
Martin#30-Jul-07 5:20 
GeneralRe: Dispose Method Pin
Luc Pattyn30-Jul-07 6:26
sitebuilderLuc Pattyn30-Jul-07 6:26 
GeneralRe: Dispose Method Pin
Luc Pattyn13-Aug-07 1:53
sitebuilderLuc Pattyn13-Aug-07 1:53 
GeneralRe: Dispose Method Pin
Martin#13-Aug-07 2:15
Martin#13-Aug-07 2:15 
GeneralRe: Dispose Method Pin
Guffa30-Jul-07 22:09
Guffa30-Jul-07 22:09 
Luc Pattyn wrote:
I assume you intend the example to be the code of a single method, with obj
a class member, not a local variable.


Assume away. Wink | ;)

It's a local variable.

Luc Pattyn wrote:
Not having an obj.Dispose(); ends the life of the obj value sooner when
looking at the code in the method itself; IMO that on its own is insufficient to
expect the compiler to move "obj=null;" upwards.


The compiler will not move the "obj=null;", and it doesn't have to. That statement is irrelevant for the live time of the reference to the object, as it doesn't use the reference, it only assigns a new value to the reference variable. The last use of the reference is where it's read, not where it's written.

Luc Pattyn wrote:
So I expect the obj variable be present on the stack, and be cleared only
after returning from the Input method; hence the GC would find the hugeobject
reference, and would have to keep it alive (together with its huge array, for
which my Dispose() would have removed the only reference).


No, the object only have to be alive as long as there is a used reference to it. The garbage collector sees where the reference to the object is last used, and can collect the object before the input method. If you have a Dispose call, the object has to be kept alive until then.

---
single minded; short sighted; long gone;

GeneralRe: Dispose Method Pin
Luc Pattyn30-Jul-07 22:49
sitebuilderLuc Pattyn30-Jul-07 22:49 
GeneralRe: Dispose Method Pin
Guffa2-Aug-07 7:47
Guffa2-Aug-07 7:47 
GeneralRe: Dispose Method Pin
Luc Pattyn2-Aug-07 8:23
sitebuilderLuc Pattyn2-Aug-07 8:23 
GeneralRe: Dispose Method Pin
Guffa4-Aug-07 1:08
Guffa4-Aug-07 1:08 
GeneralRe: Dispose Method [modified] Pin
Luc Pattyn4-Aug-07 14:48
sitebuilderLuc Pattyn4-Aug-07 14:48 
GeneralRe: Dispose Method Pin
Luc Pattyn2-Aug-07 21:56
sitebuilderLuc Pattyn2-Aug-07 21:56 
GeneralRe: Dispose Method Pin
Guffa4-Aug-07 1:19
Guffa4-Aug-07 1:19 
AnswerRe: Dispose Method Pin
Karthi_jpk30-Jul-07 3:19
Karthi_jpk30-Jul-07 3:19 
AnswerRe: Dispose Method Pin
Scott Dorman31-Jul-07 14:29
professionalScott Dorman31-Jul-07 14:29 
GeneralRe: Dispose Method Pin
N a v a n e e t h31-Jul-07 18:21
N a v a n e e t h31-Jul-07 18:21 
GeneralRe: Dispose Method Pin
Scott Dorman31-Jul-07 19:43
professionalScott Dorman31-Jul-07 19:43 
QuestionConnecting to SQL Server through C#.net Pin
Saba0230-Jul-07 2:32
Saba0230-Jul-07 2:32 
AnswerRe: Connecting to SQL Server through C#.net Pin
originSH30-Jul-07 3:03
originSH30-Jul-07 3:03 
AnswerRe: Connecting to SQL Server through C#.net Pin
Karthi_jpk30-Jul-07 3:04
Karthi_jpk30-Jul-07 3:04 
GeneralRe: Connecting to SQL Server through C#.net [modified] Pin
originSH30-Jul-07 3:19
originSH30-Jul-07 3:19 
QuestionAnother instance of my program is already running? Pin
pmartike30-Jul-07 2:17
pmartike30-Jul-07 2:17 
AnswerRe: Another instance of my program is already running? [modified] Pin
Martin#30-Jul-07 2:22
Martin#30-Jul-07 2:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.