Afternoon wszystkimC#: Używanie generic stworzyć tablicę ruchy wskaźnika
trochę pomóc, jeśli chcesz. Aby ominąć limit obiektów 2Gb w .NET, stworzyłem klasę, która przydziela pamięć na stercie i to pozwala mi tworzyć tablice do limitu mojej wolnej pamięci RAM. Jednak dla ułatwienia rozwoju (ponieważ był to dowód koncepcji), kodowanie było trudne dla długich. Teraz, gdy to działa, próbowałem zmienić kod, aby użyć generycznych, więc mogę użyć tego samego kodu dla wielu typów.
Przy przydzielaniu pamięci i poprawnej indeksacji tablicy potrzebuję tablicy wskaźników tego samego typu, które będzie przechowywane w tablicy, tj. Długa tablica potrzebuje long*[] myLargeArray
. Problemem jest to, kiedy używam rodzajowych ta deklaracja staje T*[] myLargeArray
, który zawsze wywołuje błąd „nie może mieć adres, uzyskać rozmiaru lub zadeklarować wskaźnik do zarządzanej typu (” T „)”
Z góry dzięki.
PS Zanim ktokolwiek zapyta, tak naprawdę potrzebuję tak dużych tablic.
przykładem Kod 2D tablicy:
LargeArray <int> myArray = new LargeArray<int>(x, y);
public unsafe class LargeArray where T : struct
{
...
private T*[] tArr;
...
public LargeArray(long sizeI, long sizeJ)
{
...
myLargeArray = new T*[sizeI];
...
}
}
Myślę, że wzór fabryczny to zdecydowanie najlepsza droga. –