Kezdőoldal » Számítástechnika » Programozás » Mi ebben a hiba? (C#)

Mi ebben a hiba? (C#)

Figyelt kérdés

using System;

using System.Linq;

using System.Text;

using System.Collections.Generic;


namespace Game.Global

{

public class BuyPack

{

List<slotItem> item = new List<slotItem>(5);

public void Add(slotItem objects)

{

if (item.Count < 5)

{

item.Add(objects);

}

else

{

if (item.Count >= 5)

{

item[0] = item[1];

item[1] = item[2];

item[2] = item[3];

item[3] = item[4];

item[4] = objects;

}

}

}

public slotItem Get(byte index)

{

slotItem ret = item[index];

item.Remove(ret);

return ret;

}

}


2011. aug. 11. 16:45
 1/4 A kérdező kommentje:
Kicsit szarul másolta be.. na mindegy
2011. aug. 11. 16:45
 2/4 anonim ***** válasza:
Na mi benne a hiba? Valamiféle hibajelenséget mondhatnál. Fordulni fordul?
2011. aug. 11. 16:56
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Hát, őő, nem vok benne biztos, hogy a forditó hibát jelez-e, de a listát int-el lehet indexelni.

+nem tudom, hogy csak lemaradt-e a copy-paste során, de a namespace záró } nincs benne.

Esetleg leirhatnád, milyen hibát dob. Forditási, vagy runtime, esetleg egyik se, csak nem úgy müxik ahogy akarod..

2011. aug. 12. 17:58
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Nos szintaktikai hiba az nincs benne. Gondolom a } csak kimaradt másolásnál.

A Get-nél figyelj oda, hogy ha nincs a lista kevesebb elemet tartalmaz, mint amit te leakarsz kérni: slotItem ret = item[index]; akkor itt bizony out of range lesz.


Kijavíthatod így eseteleg:

if (index < item.Count)

{

slotItem ret = item[index];

item.Remove(ret);

return ret;

}

else return null;


És az Add-ban az if(item.Count >= 5) felesleges.

2011. aug. 12. 22:28
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!