Re: Array vs List<>
Sébastien Lorion <[email protected]>
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <[email protected]> |
Well, you would need the right code access security permissions to use reflection in that manner. Sébastien On Sat, Nov 1, 2008 at 2:09 PM, Richard Blewett <[email protected]>wrote: > Well we were talking about expressing intention rather than trying to > prevent someone maliciously trying to manipulate the code - if you wrap in > ReadOnlyCollection they could of course cast to ReadOnlyCollection and then > use reflection to mutate the list. Granted about the indexer access though > > Rich > > > -----Original Message----- > > From: Discussion of advanced .NET topics. [mailto:ADVANCED- > > [email protected]] On Behalf Of Sébastien Lorion > > Sent: 01 November 2008 17:44 > > To: [email protected] > > Subject: Re: [ADVANCED-DOTNET] Array vs List<> > > > > If you dont wrap it with a read-only container, someone could cast it > > to > > IList<T> and modify the elements. Also, it's nice to have indexable > > content > > when possible. > > > > Sébastien > > On Sat, Nov 1, 2008 at 12:11 PM, Richard Blewett > > <[email protected]>wrote: > > > > > Why not just expose it as an IEnumerable<T> that saves the copy and > > keeps > > > the list ( but not it's members) immutable > > > > > > Rich > > > > > > Sent from my iPhone > > > > > > On 1 Nov 2008, at 13:00, Simon Robinson <[email protected]> > > wrote: > > > > > > Very minor issue that occurred to me. > > >> > > >> The project I'm working on seems to have quite a few lists of > > objects, > > >> where each list is read in from a file when the application starts, > > and is > > >> subsequently guaranteed never to change; the data will be accessed > > >> constantly but neither the list nor the values of the objects in it > > will > > >> ever be modified. > > >> > > >> Because I don't know how many elements are going to be in the list > > until > > >> I've read them in, I tend to read them into a List<>, so I can > > dynamically > > >> expand it as I'm reading the elements in. However, because the list > > is then > > >> unchanged, there's no reason for it to be a dynamically expandable > > list. If > > >> it wasn't for the initialization process I'd just store them in a > > >> fixed-length array. > > >> > > >> So I'm curious, what are people's thoughts on keeping the data > > permanently > > >> in a list<>, or discarding the list<> and copying to an array as > > soon as the > > >> data is read in? An array entails the extra copy operation, but may > > lead to > > >> slightly clearer code. I'm guessing for subsequent read access, > > there's no > > >> performance difference. Any other factors I've missed? > > >> > > >> I realise this is most likely a pretty academic point that would > > have very > > >> little impact on the app either way, but I was curious... > > >> > > >> =================================== > > >> 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 > =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives