Tömb másolata módosítása, módosítja az eredeti tömböt is, miért? (c#)
Üdv!
A következő problémám van:
adott egy (PictureBox[] a = new PictureBox[100]) tömb, aminek az értékeit át másolom egy másik, b tömbbe (PictureBox[] b = new PictureBox[100]).
for (int i = 0; i < a.Length; i++)
{
b[i] = a[i];
}
Érték szerint adom át, de mégis referenciként viselkedik, mert amikor változtatom a "b" tömböt változik az "a" is.
private void Csere(int i, int j)
{
Image seged = b[i].Image;
string seged1 = b[i].Name;
string seged2 = b[i].ImageLocation;
b[i].Image = b[j].Image;
b[i].ImageLocation = b[j].ImageLocation;
b[i].Name = b[j].Name;
b[j].Image = seged;
b[j].Name = seged1;
b[j].ImageLocation = seged2;
}
Hogyan tudnám ténylegesen elkülöníteni a kettőt?
Eddig nem ismertem a módszert, de sokkal egyszerűbb, mint ciklust körmölni, köszi a hozzászólást!
A probléma viszont még mindig fent áll sajnos...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!