0
Reply

problem in C#- trying to make a 2-d array of a list

Fred

Fred

Aug 6 2009 3:14 PM
1.9k
I'm trying to write a model containing digital organisms. Within the model i'd like the environment to be a fixed 2-d array, but each cell needs to contain a list of the organisms in it. I tried using a jagged array, but as the number of occupied elements varies quite a bit throughout the programm run, i need to use something more flexible than an array. I've tried making a 2-D array of the type list, but im getting errors with it.

        List<Creature>[,] theWorld;


public Environment()
{
List<Creature>[,] theWorld = new List<Creature>[100,100];
}

public void addCreature(Creature c)
{
for (int x = 0; x < 100; x++)
{
for (int y = 0; y < 100; y++)
{
theWorld[x, y].Add (c);

} } }
this is the segment where i'm trying to declare the array at the beginning, as a type that holds lists (of the organisms), and later i try to add a creature (c) to each of the lists in each element of the array.

when i run it i get the following error message-

"An unhandled exception of type 'System.NullReferenceException' occurred in HGT_sim_2.exe

Additional information: Object reference not set to an instance of an object."

and the line "World[x, y].Add (c);" is highlighted.



If anyone can tell me what i'm doing wrong, and even better, a way around the problem, it'd be amazing.
thank you ain advance!