[Mono-list] Newbie and ArrayList

Jonathan Pryor jonpryor at vt.edu
Mon Apr 16 05:10:09 EDT 2007


On Mon, 2007-04-16 at 00:40 -0500, Jonathan Gilbert wrote:
> At 10:13 PM 4/15/2007 +0200, Johannes Graumann wrote:
> [snip]
> >  [TestFixture()]
> >  public class Test
> >  {
> >    #region Establishment of Testing Infrastructure
> [snip]
> >    // Construct the names needed for the mock directory structure
> >    ArrayList DSYears = new ArrayList();
> >    DSYears.Add(1);
> [snip]
> 
> Just to give a bit more detail, basically (and I hope it's not too much
> detail -- I'm a compulsive over-explainer), it looks like what you're
> aiming for is to have the "DSYears" ArrayList start off with one value in
> it as soon as the instance is created (i.e., at the same time that
> "DSYears" is assigned its "new ArrayList()" value). Unfortunately,
> *statements* must be inside the bodies of methods or accessors (properties
> and events). The initializers within a class may consist only of
> expressions that can be evaluated before the instance of the class has been
> initialized.

Which is why C# 3.0 Collection Initializers will be useful: we can
initialize DSYears with a collection initialization expression, thus
keeping everything in one expression instead of multiple statements:

	ArrayList DSYears = new ArrayList () { 1 };

Of course, C# 3.0 hasn't been finalized, and it doesn't exist in mcs
proper yet either (a potential patch is attached to bugzilla 81356).

 - Jon




More information about the Mono-list mailing list