Witam
czytam sobie właśnie "Programowanie C#" Jesse Liberty, książka trochę już leciwa, ale pożyczyłem od kumpla w celu szybkiej migracji z c++ do c# i doszedłem do roździału o listach. I napotkałem taką informacje: problem z tablicami polegał na ich stałym rozmiarze
Znany mi problem z c++ gdzie dynamiczną tablice trzeba było tworzyć za pomocą wskaźników. Ja ostatnio jednak pisałem swój pierwszy program w c# i w momencie gdzie potrzebuję stworzyć macierz (tablice dwuwymiarową) zrobiłem tak:
public class Macierz
{
public float[,] tab;
public int w;
public int k;
public double[,] d2;
public Macierz(int wiersz, int kolumna)
{
this.w = wiersz;
this.k = kolumna;
this.tab = new float[w, k];
}
...
}
static void Main(string[] args)
{
Console.WriteLine("Podaj liczbe kolumn w macierzach:");
string kolumna = System.Console.ReadLine();
Console.WriteLine("Podaj liczbe wierszy w TRN:");
string wierszTrn = System.Console.ReadLine();
Console.WriteLine("Podaj liczbe wierszy w TST:");
string wierszTsn = System.Console.ReadLine();
int k = int.Parse(kolumna);
int w1 = int.Parse(wierszTrn);
int w2 = int.Parse(wierszTsn);
Macierz trn = new Macierz(w1,k);
trn.Macierz1(w1,k);
trn.wyswietl("TRN");
Macierz tst = new Macierz(w2,k);
tst.Macierz2(w2, k);
tst.wyswietl("TST");
I o dziwo działa! Zaskoczył mnie fakt że jako wartość określającą wielkość tablicy w C# można podać zmienną.
Czy w C# zawsze tak było, czy może zostało to wprowadzone w ostatniej wersji?? (ja pisze w VS 2010 - framework 4)