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