Tablica dwuwymiarowa c#

0

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ć ?

0

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

0

Czytałem to , dalej nie uzyskałem odpowiedzi.

1

http://ideone.com/M1n2MV

public static int[,] CreateTable(int x) {
    return new int[x,10];
}

public static void Main()
{
    int[,] a = CreateTable(10);
}
0

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ę).

0
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?

0

A jak zrobić tę listę ?

0

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ł.

0

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 }
            };
0
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 }
            };
0

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 }
            };
        }
0

Lol jeszcze usuncie biale znaki i potraktujcie obfuskatorem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1