Witam !
Chciałbym zadeklarować tablice dwuwymiarową [x,3] gdzie rozmiar x nie jest mi znany - może być różny ,a 3 jest stałe.
Jak to zrobić ?
Witam !
Chciałbym zadeklarować tablice dwuwymiarową [x,3] gdzie rozmiar x nie jest mi znany - może być różny ,a 3 jest stałe.
Jak to zrobić ?
http://msdn.microsoft.com/pl-pl/library/2yd9wwz4.aspx tu masz sporo wiedzy ;)
a jeśli chodzi o pytanie, to mam wrażenie, że sobie sam odpowiadasz... jak zadeklarować ? [x,3] ? :D
Czytałem to , dalej nie uzyskałem odpowiedzi.
public static int[,] CreateTable(int x) {
return new int[x,10];
}
public static void Main()
{
int[,] a = CreateTable(10);
}
Rozmiar musi być znany. Może być wyrażony zmienną, ale musi być znany.
Rozmiaru tablicy po jej stworzeniu nie można zmienić (można stworzyć nową i przekopiować dane, ale nie zmienić istniejącą tablicę).
pumanitro napisał(a):
Witam !
Chciałbym zadeklarować tablice dwuwymiarową [x,3] gdzie rozmiar x nie jest mi znany - może być różny ,a 3 jest stałe.
Jak to zrobić ?
To może nie potrzebujesz tablicy tylko listy tablic trzyelementowych?
A jak zrobić tę listę ?
Coś w ten deseń:
//Deklaracja listy tablic
List<int[]> listaTablic = new List<int[]>();
//Wypełnienie przykładowymi danymi
listaTablic.Add(new int[3] { 1, 2, 3 });
listaTablic.Add(new int[3] { 4, 5, 6 });
listaTablic.Add(new int[3] { 7, 8, 9 });
EDIT: W sumie to można nawet bez tych trójek w nawiasach kwadratowych ale zostawię żeby autor wiedział gdzie się jego stały rozmiar tablicy rozmył.
Wypełnić można już przy deklaracji:
var listaTablic = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5, 6 },
new int[] { 7, 8, 9 }
};
Azarien napisał(a):
Wypełnić można już przy deklaracji:
var listaTablic = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5, 6 },
new int[] { 7, 8, 9 }
};
to skoro już tak skracamy - nie trzeba podawać typu danych w tablicy jeśli kompilator może je wywnioskować samemu:
var listaTablic = new List<int[]>
{
new[] { 1, 2, 3 },
new[] { 4, 5, 6 },
new[] { 7, 8, 9 }
};
MSPANC
class ListOfIntArray : List<int[]>
{
public new void Add(params int[] array)
{
base.Add(array);
}
}
static void Main(string[] args)
{
List<int[]> listaTablic = new ListOfIntArray
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
}
Lol jeszcze usuncie biale znaki i potraktujcie obfuskatorem ;)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.