Új hozzászólás Aktív témák
-
Lortech
addikt
Azért hogy aztán vissza kelljen alakítani.
_seth_:
N int típusú, TextLength is, mivel egy szám / érték, ezért ToStringezni nem kell.
Propertyket (TextLength) felesleges eltárolni külön ilyen esetben, csak egyszer hívod.. Írd be nyugodtan a forba. De ha nagyon biztos programot akarsz írni, akkor az egész textBox1 stringet tárold el egy segédváltozóban, és annak írd be a ciklusba a hosszát.
str = char.Parse(...) ??? Mit akarsz ezen parsolni? Eleve a típus.parse típust ad vissza, itt char-t (egy darabot!), tehát ha minden áron le akarod parsolni charra, akkor kéne egy ciklus, ahol végigmész a string indexein egyenként, figyelve arra, hogy ne ilyen nulla hosszúságú a string, mert akkor kivétel.. De nem tudom elképzelni, hogy mi értelme van ennek.
A db változót nem árt nullázni, mert a második számolásnál már nem fog helyes értéket adni, mert az előző eredménye benne van, és azt növeled.
Ez a ciklus.. Minek mész végig 0..N, ha fel sem használod az indexet, és minden iterációnál ugyanazt csinálod?
Az i változót ne így deklaráld, mert könnyen hibákhoz és félreértésekhez vezethet.. Egy segédváltozó ritkán jó, ha az osztály mezője, tartozzanak az adott scopehoz, ott legyenek deklarálva.
pl itt: for (int i=0;...) {} Ez vonatkozik az str-re, N-re is, és vsz a db-re, mert csak egy ellenőrzésre kell vagy tájékoztatásra kell, nem az osztályhoz tartozik szorosan, és nem kell megőrizni sem. Ez nem pascal.
Ha csak a kisbetűs magánhangzókat akarod beleírni a switchbe, akkor célszerű a stringet ToLower-rel csupa kisbetűssé alakítani, hogy nagybetűs magánhangzókra is menjen, pl: string str = textBox1.Text.ToLower();
A ''számol'' gombra kattintás eseménykezelője kb így nézne ki sztem, ha a te kódodból indulok ki:
private void button1_Click(object sender, EventArgs e)
{
db = 0;
string str = textBox1.Text.ToLower();
for (int j = 0; j < str.Length; j++)
{
switch (str[j])
{
case 'a': db++; break;
case 'e': db++; break;
case 'i': db++; break;
case 'o': db++; break;
case 'u': db++; break;
}
}
MessageBox.Show(db.ToString());
}
Ú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!
- Eladó MSI B650 GAMING PLUS WIFI Alaplap
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB videokártya
- Bomba ár! Asus Slate EP121 Tablet - Intel Core i5 I 4GB I 64GB SSD I 12" Touch I Cam I W10 I Gari!
- Bomba ár! HP EliteBook 2570P - i5-3GEN I 4GB I 320GB I DVD I 12,5" HD I W10 I Garancia!
- Bomba ár! HP EliteBook 2560P - i5-2GEN I 4GB I 320GB I 12,5" HD I W10 I Garancia!
- 127 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 (ELKELT)
- Samsung Flip 2.0 PRO 65" WM65R + Connectivity tray + Gurulós állvány
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H610M I5 12400F 32GB DDR5 512GB SSD X 4060 8GB SPIRIT OF GAMER CLONE 3 Chieftec600W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest