Új hozzászólás Aktív témák
-
Lakers
tag
Sziasztok!
Van néhány kódrészlet, amit nem értek, és ahhoz kérnék segítséget, hogy ha valaki leírná, lépésről, lépésre, hogy mit miért csinál a program:
Kódrészletek:
class Ló
{
public string Name { get; set; }
public DateTime Born { get; private set; }
public int? Price { get; set; }
public Ló(string name, DateTime born)
{
Name = name;
Born = born;
Awards = new List<Award>();
}
public List<Award> Awards { get; set; }
public event EventHandler<LóversenyEventArgs> Verseny;
public bool Versenyez(string versenynév)
{
if (Verseny != null)
{
LóversenyEventArgs lvea =new LóversenyEventArgs(versenynév);
Verseny(this, lvea);
}
Random r = new Random();
int i = r.Next(0, 10);
//return i < 2 ? true : false;
return i < 2;
}
public override string ToString()
{
return String.Format("Név: {0}, született: {1}, ár: {2}",
Name, Born, Price == null ? "N/A" : Price.ToString());
//price ?? 0
}
}
class Award
{
public string Name { get; set; }
public int Prize { get; private set; }
public Award(string name, int prize)
{
Name = name;
Prize = prize;
}
}
class Függő
{
public void FelrakjaAzÖsszesPénzét(object sender, LóversenyEventArgs e)
{
Console.WriteLine("FUSS, {0}, FUSS!!!\nVerseny: {1}",
((Ló)sender).Name.ToUpper(), e.VersenyNév);
}
class LóversenyEventArgs : EventArgs
{
public string VersenyNév { get; private set; }
public LóversenyEventArgs(string vn)
{
VersenyNév = vn;
}
}
class Program
{
static void Main(string[] args)
{
List<Ló> lovak = new List<Ló>
{
new Ló("Kincsem", DateTime.Now) {Price =2000},
new Ló("Alma", DateTime.Now) {Price = 11000},
new Ló("Béka", DateTime.Now)
};
Függő f = new Függő();
foreach (Ló l in lovak)
l.Verseny += f.FelrakjaAzÖsszesPénzét;
foreach (Ló l in lovak)
{
if (l.Versenyez("Négybalpata"))
{
Award a = new Award("Négybalpata", 1);
l.Awards.Add(a);
Console.WriteLine("A díjat nyerte: " + l.ToString());
}
else
Console.WriteLine("Ma is hasznavehetetlen: " + l.ToString());
}
...Amit nem értek a következő részlet:
Függő f = new Függő();
foreach (Ló l in lovak)
l.Verseny += f.FelrakjaAzÖsszesPénzét;foreach (Ló l in lovak)
{
if (l.Versenyez("Négybalpata"))
{
Award a = new Award("Négybalpata", 1);
l.Awards.Add(a);
Console.WriteLine("A díjat nyerte: " + l.ToString());
}
else
Console.WriteLine("Ma is hasznavehetetlen: " + l.ToString());
}Itt is elsősorban az if(l.Versenyez("Négybalpata")) résztől homályos nekem.
De még az előtte lévő f.FelrakjaAzÖsszesPénzét delegate rész sem tiszta.A segítségeteket előre is köszönöm! Szájbarágós magyarázatot előnyben részesítem

Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Huawei Watch GT3 46mm Rozsdamentes acél váz, számlás, dobozos
- JBL Boombox 2 Brutális hang, számlás, dobozos, patika állapot
- Apple iPod Video (5. Gen) 30GB - A1136 - Wolfson DAC - Gyűjtői állapot!
- Asus Dual Radeon RX 5500 XT EVO 8GB GDDR6 Számlás, dobozos, újszerű!
- Canon EOS M50 Mark II Travel Kit Számlás (2023), újszerű, minden tartozékkal!
- Új, Aktiválatlan iPhone 14 (128 GB) (rendelhető)
- HIBÁTLAN iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3760
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Thermalright Phantom Spirit 120 SE
- HP ProDesk 600 G5 i5-9500 8GB 256GB 1 év garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


