class MyType{
}
MyType[] array = new MyType[10];
Okazuje sie ze wszystkie elementy array sa ustawnione na null, dzieje sie tak ponieważ podczas tworzenia tablicy w C#, podobnie jak w C++ wywoływany jest konstruktor domyslny obiektów przechowywanych, jako że array przechowuje tylko referencje do obiektow to wywolywany jest konstruktor domyslny referencji a ten ustawia ja na null. Aby tego uniknać mozna recznie napisać pętle wszedzie gdzie tworzymy tablice:
for(uint i=0; i < array,Length; i++)
array[i] = new MyType();
Jednak lepiej jest napisac raz i spokój, ja napisałem , może komuś sie przyda.
namespace Utillity{
class Arraytil{
public static T[] CreateArray
where T : new()
{
T[] array = new T[size];
for (uint i = 0; i < size; i++)
return array;
}
}
}
Używamy intuicyjnie:
using Utility;
MyType[] array= ArrayUtil.CreateArray<MyType>