Hirdetés
- Azonnali informatikai kérdések órája
- Milyen SSD-t vegyek?
- Melyik tápegységet vegyem?
- Fejhallgató erősítő és DAC topik
- SSD kibeszélő
- AMD Navi Radeon™ RX 6xxx sorozat
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Pánik a memóriapiacon
- Milyen monitort vegyek?
- Vezetékes FEJhallgatók
Új hozzászólás Aktív témák
-
Lacces
őstag
Hali, már rég voltam itt, gondoltam jövők egy kérdéssel ismét

Írni kellett egy metódust. A programkódban van, hogy mit is kértek tőlünk. Na ez kábé nagyjából megvan. (Ha lehetne LINQ-t használni, királyság lenne)
Egy foreach-ben megkeresem a Dictionary-ben lévő Sör Objektumot, amelynek neve megegyezik a metódus sörnév paraméterével. (más megoldást nem tudok foreach-en kívül... LINQ nem játszhat, lentebb láthatjátók, mely 2 using-ot használhatom csak)Visszont van egy probléma, hogy ha megvan az a sör amit a sörnév alapján kerestem, akkor vele párhuzamosan, a Dictionary-ban<Sör obj, int value> a sör objektumhoz tartozó, value-t is módosítanom kell.
Sajnos a foreach-ben az item.key és item.value csak lekérdező metódus. Van-e beállító metódusa is?
Foreach esetén hogyan lehetséges egy adott Key-hez tartozó Value módosítása?sörök.Values.Add(item.Value - kimertKorso * 5); - erre gondoltam, de ez lehet hülyeség, hiszen honnan tudná a C#, hogy az adott Item.Key-hez tartozó Value-t állítom be?!
// csak e kettő használható
using System;
using System.Collections.Generic;
IDictionary<Sör, int> sörök = new Dictionary<Sör, int>();
/// <summary>
/// <para>Megkísérel eladni adott számú korsót az adott nevű sörből. Az eladott mennyiségnek megfelelően a bevétel nő, a rendelkezésre álló mennyiség korsónként 5 dl-rel csökken.</para>
/// </summary>
/// <param name="sörnév">a kért sör neve</param>
/// <param name="nkorsó">a kért korsók száma</param>
/// <returns>A korsók száma, amiket sikerült teljesen kimérni. Ha nincs ilyen nevű sör, akkor 0.</returns>
public int Elad(string sörnév, int nkorsó)
{
int d = 5*nkorsó; // 5 deciliter = 1 korsó
int kimertKorso=0;
Sör s;
foreach (var item in sörök)
{
if (item.Key.Név == sörnév) // ha megtalálom
{
if (item.Value >= d)
{
kimertKorso = item.Value % 5; // kimért korsók száma
bevétel += kimertKorso*5; // bevétel nő eladott mennyiségnek megfelelően - ha dl és nem korsó
sörök.Values.Add(item.Value - kimertKorso * 5); // talán?
}
}
}
return kimertKorso;
}
Ú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!
- !!AKCIÓ!! GAMER PC AMD Ryzen 5 5600X/MSI MPG B550 GAMING PLUS/GeForce RTX 4070 DUAL 12 GB/32GB DDR4
- Apple iPad A16 (2025) 128GB, Wi-Fi, 1 Év Garanciával
- Apple iPhone 12 Mini 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 16 128GB, Kártyafüggetlen, 1 Év Garanciával
- XPS 14 9440 13.4" 3K OLED érintő Ultra 7 155H RTX 4050 32GB 1TB NVMe ujjlolv gar
- Apple iPhone XR 64GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó Realme gt neo 2 5g Dobozában tokkal
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB +256GB fekete játékkonzol garanciával hibátlan működéssel
- LG 32GS94UX - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- ASUS 23" FULL HD Monitor VZ239HE
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest



