Re: Newbie - delete item from collection

Geoff Taylor <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <003601c94967$360b5020$a221f060$@com>
I know it's a property.  Tsk. ;)

My confusion was around it being whether it was invoked in the loop at all.
I was under the impression - I'm sure I read this somewhere back in the .NET
1.0 or beta days - that a for loop like:

for (int i = 0; i < list.Count; i++)
{
    ...
}

Was created in the IL as:

int temp = list.Count;
for (int i = 0; i < temp; i++)
{
    ...
}

See what I mean now?

I can't find any reference to this behaviour though, and I've just read the
relevant parts of the C# Language Specification and it's not there.  I even
wrote it a simple program in Snippet Compiler to check.  So it looks like my
understanding was hogswash.  Sorry about that.

Apologies for introducing confusion.  Now, any idea where I got that notion?

Cheers,

			Geoff

> -----Original Message-----
> From: Discussion of advanced .NET topics. [mailto:ADVANCED-
> [email protected]] On Behalf Of Eddie Lascu
> Sent: 17 November 2008 22:23
> To: [email protected]
> Subject: Re: [ADVANCED-DOTNET] Newbie - delete item from collection
> 
> Count is a property that returns the actual number of elements
> contained in
> the ArrayList so has to be reevaluated every time is invoked.
> 
> -----Original Message-----
> From: Discussion of advanced .NET topics.
> [mailto:[email protected]] On Behalf Of Geoff Taylor
> Sent: Monday, November 17, 2008 5:06 PM
> To: [email protected]
> Subject: Re: [ADVANCED-DOTNET] Newbie - delete item from collection
> 
> Really? I thought that was cached before the first iteration of the
> loop and
> not re-evaluated. Does it really evaluated Count each time through the
> loop?
> 
>      Geoff
> 
> On 17 Nov 2008, at 21:04, Chris Anderson <[email protected]> wrote:
> 
> >> (I'd also have expected it to throw an exception towards the end,
> >> because there are no longer _someList.Count items in the list.)
> >
> > Yes there are ;-)
> > _someList.Count will be decrementing as you remove items
> >
> > ===================================
> > View archives and manage your subscription(s) at
> > http://peach.ease.lsoft.com/archives
> 
> ===================================
> View archives and manage your subscription(s) at
> http://peach.ease.lsoft.com/archives
> 
> ===================================
> View archives and manage your subscription(s) at
> http://peach.ease.lsoft.com/archives

===================================
View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.