Ú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!
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Milyen TV-t vegyek?
- TCL LCD és LED TV-k
- Hearthstone: Heroes of Warcraft - free online CCG
- exHWSW - Értünk mindenhez IS
- Konzolokról KULTURÁLT módon
- PROHARDVER! feedback: bugok, problémák, ötletek
- Óra topik
- Black Friday november 29. / Cyber Monday december 2.
- BestBuy topik
- További aktív témák...
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128SSD I 15,6" FHD Touch I HDMI I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 4GB I 240SSD I Nvidia I 15,6" FHD I Cam I W10 I Garancia!
- Olcsón Google Nest Mini 2nd Gen
- Bomba ár! Dell Latitude E5530 - i5-3GEN I 4GB I 320GB I HDMI I 15,6" HD I W10 I Gari!
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W with combo cable (3TR87AA)
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- Bomba ár! HP Elitebook 8570P - i5-3340M I 8GB I 500GB HDD I DisplayPort I 15,6" HD I Garancia!
- Gamer PC-Számíógép! Csere-Beszámítás! I7 13700F / RTX 4070Ti Super 16GB OC / 32GB DDR5 / 1TB SSD
- Azonnali készpénzes nVidia RTX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


