Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# naplnění polí

Ahoj, ptřeboval bych poradit, mám kód (příklad):

string[] pole1, pole2, pole3 = new string[5];
string[] data = {"1", "2", "3", "4", "5"};

Potřebuji, aby se určité= pole naplnilo daty, tudíž:

pole1 = data;
pole2 = data;
pole3 = data;

Zde je příklad, který je totální blbost:

for (int i = 0; i < 3; i++)
{
     pole[i] = data;
}

Jenže to vypíše: Error The name pole' does not exist in the current context
Poradí mi někdo, jak na to? :)

Předmět Autor Datum
Asi hledáš pole polí.
Wikan 28.06.2014 16:32
Wikan
Udělat pole v dalším poli?
Adam46467 28.06.2014 17:10
Adam46467
Je otázka, co vlastně chceš reálně udělat. Možná by se to dalo vyřešit úplně jinak a lépe. nový
Wikan 28.06.2014 18:37
Wikan
Ty chceš nakopírovat pole do pole? tak asi pole[i]=data[i]; ne? Nebo tady je ukázka funkce přímo… nový
MašinkaTomáš 28.06.2014 17:50
MašinkaTomáš
Ahoj. Presne ako píše Wikan - pre tento prípad využiješ to pole polí alebo ak napíšeš, čo chceš reál… poslední
los 29.06.2014 08:59
los

Ahoj. Presne ako píše Wikan - pre tento prípad využiješ to pole polí alebo ak napíšeš, čo chceš reálne spraviť, tak to pôjde možno inak a lepšie.

Pre tento konkrétny prípad:

var data = new[] { "1", "2", "3", "4", "5" };
var pole = new string[3][];
for (var i = 0; i < pole.Length; ++i) {
	pole[i] = new string[data.Length];
	Array.Copy(data, pole[i], data.Length);
}

Prípadne cez LINQ (trochu pomalšie, ale prehľadnejšie):

var data = new[] { "1", "2", "3", "4", "5" };
var pole = new[] { data.ToArray(), data.ToArray(), data.ToArray() };

Alebo ak nechceš pole polí, ale 3 samostatné premenné, tak napr. takto:

var data = new[] { "1", "2", "3", "4", "5" };
var pole1 = data.ToArray();
var pole2 = data.ToArray();
var pole3 = data.ToArray();

Zpět do poradny Odpovědět na původní otázku Nahoru