Új hozzászólás Aktív témák
-
oO7
őstag
válasz
h1ght3chzor
#4417
üzenetére
Kezdésnek egy kis C# nyelvi alapozásként Reiter István C# jegyzetét ajánlanám, aztán pedig elég szerteágazó irányok vannak kliens és szerveroldali fejlesztésekben
-
oO7
őstag
Rx - Aszinkron programozás magas fokon - Ingyen szakkönyvet a népnek

-
oO7
őstag
válasz
leximester
#4400
üzenetére
csinálj egy TextBlock típusú listát, és abba rakosgasd bele a felületen lévő TextBlockokat (a referenciájukat ugye), és akkor el fogod tudni érni ciklusból őket...
var textBlocks = new List<TextBlock> { tb1, tb2, tb3, tb4, ... };
és akkor ezen a textBlocks listán már végig tudsz menni for vagy foreach ciklussal...
ha esetleg azonos szinten helyezkednek el a vizuális fában, akkor a TextBlock-okat tartalmazó konténernek le lehetne kérdezni a Children tulajdonságát és rászírnű az OfType<TextBlock>() operátorral, hogy csak a TextBlock-okat adja vissza... ez is egy listát eredményez, amiben benne vannak, de ez elég csúf megoldás meg olyan textblock is belecsúszhat, amit nem is biztos, hogy manipulálni szeretnél... ha meg a panelen belül nem közvetlenül helyezkedik el a textblock hanem még egy másik panelben vagy ilyesmi, akkor már nem is működne ez ilyen egyszerűen...
szóval inkább az első megoldást javasolnám így hirtelen, bár egyetértek Karma-val, ez csak tüneti kezelés a problémára

-
oO7
őstag
-
oO7
őstag
válasz
Brianiac
#4348
üzenetére
ez még lemaradt: a csoportosításos lekérdezés a tiéd helyett mondjuk így nézne ki:
// PÉLDA
var termekek = new List<string>();
var kategoriak = new List<int>();
var eredmeny = termekek
.Join(kategoriak, t => t.Length, k => k.ToString().Length, (t, k) => new { Termek = t, Kategoria = k })
.GroupBy(x => x.Kategoria);Itt a Join-nál a karakterszám szerint párosítom a stringeket és számokat, de nyilván ez nálad valamivel kifinomultabb kategória szerinti joinolást jelent, a végén pedig ott van a "ResultSelector" függvény, amiben a kis anonimusztípust összedobod...
a lényeg, hogy a végén lesz egy két szintű listád: az első szinten a kategóriák lesznek, a kategóriák alatt pedig ott lesznek a beléjük tartozó termékek
-
oO7
őstag
válasz
Brianiac
#4348
üzenetére
most hirtelen azt mondanám, hogy eressz rá egy GroupBy -t az egészre és csoportosítsd kategóriák szerint, és a gombokkal pedig lépkedj a kategóriák között (növeld/csökkentsd az indexet)... de lehet, hogy ennél van frappánsabb válasz is, már nagyon rég volt, hogy Winforms-sal foglalkoztam...
a gombok amúgy a toolbar-on vannak ha ez esetleg segítség
-> ToolStrip
-> Button -> aztán adsz neki képet... szerintem beépítetten nincs olyan, valahonnan a nyilakat elő kell halászni -
oO7
őstag
válasz
hoffman_
#4342
üzenetére
az első feladatnál egy "manuális for ciklust" kell összeraknod a bekérésre, és addig kell bekérned számokat amíg nem jön össze 10 ami megfelel a kritériumoknak...
leellenőrzöd, hogy a megadott szöveg az szám e,
aztán string műveletekkel megnézed, hogy 4 karakterből áll e, azaz 4 jegyű szám e,
illetve, hogy a 2. (1-es index) és 4. (3-as index) karakter (számjegy) különbözik e...
ha szám is volt meg négyjegyű is meg különböznek is a helyiértékek, akkor hozzáadod a listához és növeled az indexet, hogy akkor most te az n+1-dik helyre keresel új számot... ezt egészen addig csinálod (while ciklus) amíg össze nem jön a 10 elem...// Elso feladat elso resze
int[] s1 = new int[10];
int s1Index = 0;
while (s1Index < 10)
{
string s = Console.ReadLine();
int number = 0;
bool isNumber = int.TryParse(s, out number);
if (isNumber && s.Length == 4 && s[1] != s[3])
{
s1[s1Index] = number;
s1Index++;
}
}A következő résznél a bináris formátumra alakításhoz a Convert.ToString() metódust érdemes használni... ez egy számból elkészíti a bináris megfelelőjét stringként... ezen pedig már tudod vizsgálni az utolsó és utolsó előtti biteket és a feltételnek megfelelően egy új tömbbe pakolni... itt nem tudhatod előre, hogy hány eleme lesz a tömbnek szóval inicializáld 10 hosszúnak, készülj fel a legrosszabbra, aztán majd az indexet úgyis megint manuálisan kell kezelni a feltételek miatt, és azzal fogod tudni nyomonkövetni, hogy hány elem van a listában.
a végén pedig az utolsó maximum 4 elemnek kiszámolni az átlagát úgy, hogy visszafele járjuk be a tömböt...
// Elso feladat masodik resz
int[] s2 = new int[10];
int s2Index = 0;
for (int i = 0; i < s1.Length; i++)
{
string binary = Convert.ToString(s1[i], 2);
if (binary[binary.Length - 1] == '0' &&
binary[binary.Length - 2] == '1')
{
s2[s2Index] = s1[i];
s2Index++;
}
}
int s2Length = Math.Min(s2Index, 4);
int startIndex = s2Index - 1;
int endIndex = s2Index - s2Length;
int osszeg = 0;
for (int i = startIndex; i >= endIndex; i--)
{
osszeg += s2[i];
}
double atlag = osszeg / (double)s2Length;Bár lehetne ezt sokkal szebben is a rendelkezésre álló technológiákkal, de a feladat jellegéből arra tippelnék, hogy azokat a függvényeket nem használhatjátok

második feladathoz még gyűjtenem kell egy kis türelmet, kínzás ilyen kódot írni

-
oO7
őstag
Ahhoz, hogy "szép kódolást" lehessen tanítani, előbb meg kell tanulni kódolni és eljutni addig, hogy képes legyen az ember komplexebb "csúnya" kódot írni. Teljesen felesleges addig design patternekről beszélni meg objektum orientáltságról, amíg a program üzleti logikája átláthatóan elfér egy winforms alkalmazás code-behind-jában...
Egyet értek veled, hogy szülség lenne ezeknek is a tanítására - sokkal nagyobb szükség, mint azt sokan gondolják - de az ilyen bugyuta "írjunk saját rendezőalgoritmust" jellegű feladatok sem hasztalanok.
Én tanítottam már elég sok helyen Windows 8 meg Windows Phone fejéesztést és hát láttam durva dolgokat, és hidd el, nem az MVVM pattern nem ismerése volt a legnagyobb probléma

-
oO7
őstag
Szerintem nem hülyeség az, ha algoritmikus gondolkodásra tanítják őket. Igen, ott van a LINQ, de azért nem árt ha tudja, hogy mi törtémik mögötte, vagy ha valami speciális esettel találkozik amire nem lehet ráhúzni a beépített eszközöket, akkor nem fog széttett karokkal ülni, hogy hát ő nem tud minimumkiválasztást írni vagy rendezni vagy csoportosítani vagy ilyesmi...
Nyílván án is levágnám a kezét annak aki éles kódban leimplementál egy rendezést, de azért tudjuk már, hogy mi történik a színfalak mögött...
-
oO7
őstag
válasz
trisztan94
#4305
üzenetére
te egy darab könyv címében lévő betűket szeretnéd sorbarendezni?

azt javasolnám, hogy vagy nézz utána pl egy buborék rendezésnek vagy pl csinálhatod azt, hogy csinálsz egy üres eredménylistát, belerakod az eredeti lista első elemét, és aztán minden további elem hozzáadásánál megkeresed, hogy hova kellene azt beszúrni az eredménylistába...
tehát valami ilyesmi:var eredmenyLista = new List<Konyv>();
eredmenyLista.Add(raktar[0]);
for (int i=1; i<raktar.Count; i++)
{
// és akkor itt minden egyes elemnél levizsgálod, hogy hova kellene kerülnie az eredménylistában, pl így
var index = 0;
while (index < eredmenyLista.Count && raktar[i].cim.CompareTo(eredmenyLista[index].cim) > 0) index++;
eredmenyLista.Insert(index, raktar[i]);
}Amit még érdemes beletenni az az, hogy leellenőrizd, hogy van e legalább két elem a raktárban, mert különben az indexelés miatt szórja majd a kivételeket
Ú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!
- Kínai és egyéb olcsó órák topikja
- Soundbar, soundplate, hangprojektor
- BestBuy topik
- Android Autót minden mobilra!
- Hálózati / IP kamera
- uleFone Power
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Autós topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Hivatalos a OnePlus 13 startdátuma
- További aktív témák...
- ASUS Xonar U7 USB 7.1 hangkártya
- HP Elitebook 850 - i5 proci / 16gb memória/ 500gb m2 SSD
- Gamer PC - R7 3800X, RTX 3060ti és 16gb RAM + GARANCIA
- SAMSUNG (LS43FM700UUXUF) 4K GAMER SAMART MONITOR! 2025 MODELL! AKCIÓ
- MSI Cubi NUC 1M Intel Core 7 150U 16GB DDR5 512 NVMe SSD 2x2.5GBE LAN Wifi 7 Win 11 Pro garancia
- Samsung Galaxy S10 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 15 Plus 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS4045, 100% Akkumulátor
- Bomba ár! Lenovo IdeaPad V14-IIL: i5-10GEN I 8GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- HIBÁTLAN iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3590, 100% Akkumulátor
- HP ProBook 650 G8 Intel i5-1145G7 32GB 512GB magyarbill 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





