- gban: Ingyen kellene, de tegnapra
- Brogyi: CTEK akkumulátor töltő és másolatai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Parci: Milyen mosógépet vegyek?
- vrob: Az IBM PC és a játékok a 80-as években
- sziku69: Fűzzük össze a szavakat :)
- gerner1
- Gurulunk, WAZE?!
Új hozzászólás Aktív témák
-
kispx
addikt
válasz
MATEO6600 #7628 üzenetére
C++ topikban több szerencsével járnál.
De azért itt hagyom Stroustrup ajánlását. -
Goose-T
veterán
válasz
MATEO6600 #7628 üzenetére
Semmire sem mennél vele, tök fölösleges ma már C-t és C++-t tanulni. Van még pár terület, ahol hasznos lehet, de ez a programozói munkaerőpiac kb. 1%-a. Inkább tanulj elméletet, sokkal többre mész vele. Ezeknek nézz utána első körben: Clean code, GoF patterns, SOLID.
-
-
amargo
addikt
válasz
MATEO6600 #5939 üzenetére
Olyan esetben használd az IDisposable interface jelzőt, ha az osztályodban olyan globális objektumot hasznalsz, ami disposable. Az, hogy ez managed vagy unmanaged, azt a dispose ban kell lekezelni.
Try finally t pedig erdemes ismerni http://msdn.microsoft.com/en-us/library/ms182334.aspx -
Goose-T
veterán
válasz
MATEO6600 #5939 üzenetére
Általában akkor szoktak IDisposable interface-t használni, ha az osztály unmanaged resource-ot használ, jó példa erre az SQL-es ConnectionString. Ilyenkor a Dispose metódusban az unmanaged resource-okat fel kell szabadítani, hogy ne maradjon a memóriában, mert a GC azokkal nem foglalkozik.
-
-
Goose-T
veterán
válasz
MATEO6600 #5896 üzenetére
Nem. A C# compiler minden egyes idézőjelbe tett kifejezésből a forráskódban csinál egy string objektumot, így a te kódodban négyszer fut le a String osztály konstruktora: háromszor a leírásuknál (mivel három részletben írtad le), és egy az összefűzésnél. A string.Format metódus használata esetén viszont csak kétszer jön létre string (egy a format string leírásánal, egy pedig a metódus futása során), szóval az takarékosabb az erőforrásokkal.
-
sztanozs
veterán
válasz
MATEO6600 #5894 üzenetére
A lényeg lényege (megvágva)
newarr [mscorlib]System.Object
ldstr bytearray (41 00 20 00 73 00 7A 00 E1 00 6D 00 31 00 3A 00 // A. .s.z...m.1.:.
box [mscorlib]System.Int32
ldstr bytearray (2C 00 20 00 73 00 7A 00 E1 00 6D 00 32 00 3A 00 // ,. .s.z...m.2.:.
box [mscorlib]System.Int32
ldstr bytearray (2C 00 20 00 73 00 7A 00 E1 00 6D 00 33 00 3A 00 // ,. .s.z...m.3.:.
box [mscorlib]System.Int32
call string [mscorlib]System.String::Concat(object[])
call void [mscorlib]System.Console::WriteLine(string)Szóval csinál egy Sting.Concat-t egy Object[] array-on - amibe belepakolja az összekötendő részeket.
-
Goose-T
veterán
válasz
MATEO6600 #5876 üzenetére
1. Készíts külön osztályokat a metódusok paramétereire és visszatérési értékeire, akár úgy, hogy egy közös osztályból származtatod őket. Nagyban meg fogja könnyíteni a dolgodat a jövőben.
2. WSDL-es service proxy generálás helyett az interface-t tedd egy külön Class Library projektbe, és az abból létrejövő DLL-t referáld a kliensalkalmazásban. Ha így csinálod, akkor a ChannelFactory használatával egyszerűbben tudod majd hívni a szolgáltatást, és mivel ott lesz az interface DLL a kliensoldalon is, ezért biztos az a ToString() metódus fog lefutni, amit te írtál bele. Most azért nem az fut le, mert metódusokat nem szerializál a WCF, csak a [DataMember] attributummal ellátott property-ket.
-
Karma
félisten
válasz
MATEO6600 #5851 üzenetére
1) Ez nagyon helyzetfüggő, de az esetek többségében célszerű a propertyt használni tovább, akár osztályon belül is. Persze kérdés, milyen vudut kódoltál a setterbe, de például elég tipikus a PropertyChanged esemény gerjesztése, ami azért nem árt, ha mindig megtörténik.
2) Nem kötelező private-nak jelölni, mert a classok és structok adattagjai alapértelmezetten private-ek. Egy külső (azaz nem másik classon belüli beágyazott) class alapértelmezetten internal, de átírhatod publicra. A beágyazott dolgok private-ok alapból.
3) De egyébként a pattern nem attól lesz jól vagy rosszul implementálva, hogy propertyt vagy fieldet használsz. Ha egy osztály egy másik adattagjait sokszor, közvetlenül manipulálja, legyen szó az előbbi kettő bármelyikéről, ott valami bűzlik. -
Karma
félisten
válasz
MATEO6600 #5849 üzenetére
Ilyenkor nem használhatsz autopropertyt. Csinálnod kell egy tagváltozót, és azt használod a getterben és a setterben, mint azelőtt, hogy kitalálták ezt a rövidítést. A fordító is ezt teszi, csak azt elrejti előled.
private int _szam;
public int Szam
{
get { return _szam; }
set { _szam = value; HardcoreVoodooBlackMagic(value); }
} -
Karma
félisten
válasz
MATEO6600 #5404 üzenetére
N-edjére nekifutva a gondolatnak megkockáztatom, hogy nem is baj, ha nem érti az algoritmust teljesen a diák. Sokat nem nyer azzal, hogy mechanikusan belevasalják szorzótábla módján a "programozási tételeket", aztán vagy megérti és megszereti, vagy végigszenvedi ahogy a tanár pazarolja a saját és az osztály idejét valamire, amivel az életben nem találkozik újra. Ennél még a humán tárgyak is hasznosabbak.
Inkább kéne alapozni a sikerélményre, és azon sokat dob a LINQ is.
-
martonx
veterán
válasz
MATEO6600 #5400 üzenetére
Nekem volt szerencsém korrepetálni középiskolás szerencsétleneket.
Szvsz ezt az egész programozós érettségizős dolgot a tömegeknek nem kellene erőltetni. Sokan kitalálják, hogy ha már úgyis egész nam fb-znek a mobiljukon, meg tök jól eljátszanak a tabletjeiken, akkor ők máris programozók lesznek. Aztán az első tömb bejerásnál for ciklusnál megáll a tudomány, és a delikvensek jelentős százaléka (a kis merítésű mintavételem alapján ez olyan 80%) erről a szintről soha a büdős életben nem fog tudni feljebb jutni.Azaz én az arra alkalmatlanokat (80%) kapásból kiszórnám az első felév végén. A többiekkel meg hagy haladjunk négyszer olyan tempóban, hagy oldjunk meg érdekes feladatokat, ne az unalmas sorbarendezésekkel töltsünk el egy félévet.
Persze ez amit mondtam a komplett közoktatásunkra igaz, ha egyszer valaki discalculusban szenved (ez eleve mekkora kamu már, buták mindig is voltak és lesznek), azért még nem kötelező neki matekból érettségiznie, és mindenféle felmentést kapnia (matek, fizika, kémia). Egyáltalán mostanra sikerült az érettségit a vicc szintjére süllyeszteni.
-
Karma
félisten
válasz
MATEO6600 #5400 üzenetére
A LINQ tényleg "túl nagy" könnyítés, de ezt én is írtam. Egyetértek veled abban, hogy egy ilyen eszköz kézbevétele előtt hasznos lenne, hogy a diák értse a különböző algoritmusokat, és ha olyan környezetbe kerül, meg is tudjon írni magától egy kiválasztást, min/max keresést, stb.
De még ezt sem teljesíti a mostani tananyag rendesen. Az egész programozás témakört céltalannak és átgondolatlannak érzem – főleg ha a tényleges lefolyását és eredményét látom az infóóráknak.
A listákkal kapcsolatban máshogy gondolom. A lista, mint adatszerkezet, algoritmikusan is érdekesebb, mint egy tömb. Ha meg az érettségi feladatokat meg a valós felhasználást nézzük, végtelenül hasznosabbak is.
Kicsit hasonló a történet, mint amit szüleim meséltek az angol oktatásról, amikor tömegesen képezték át magukat az orosztanárok angoltanárrá úgy, hogy pár leckével jártak előrébb a tananyaggal, mint amit órán leadtak. Csak itt az induló nyelv a Pascal, a cél meg a C#.
-
vlevi
nagyúr
válasz
MATEO6600 #4763 üzenetére
Létre kell hozni egy másik bitmap obejktumot, és abba átmásolni. Most nincs előttem csak táblagép, a pontos metódusnevet most ezért nem tudom megmondani.
Csak ne felejtsd el a régi, már nem használt, eredeti képet felszabadítani, pl. a korábban tárgyalt using használatával. -
MATEO6600
őstag
válasz
MATEO6600 #4763 üzenetére
Bocs a dupe-ért, közben sikerült beimportálni rendesen.
Most Bitmap objektumként hivatkozok rá, aminek ugye van x és y koordinátája, így lehet majd mozgatni.
Egy olyan kérdésem lenne még, hogy a bitmap konstruktorába nem lehet olyan értéket megadni, hogy méretarányosan kisebb/nagyobb legyen a mérete? Width és height adott, de az nem arányos formában van ugye.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Remek áron Lenovo Flex 5 14 laptop/2in1/Touch/Ryzen i5-1135G7/8GB/512 GB SSD/14"/Gari
- Exclusive ajánlat! Dobozos új LG GRAM /13. gen i7-1360P/32GB RAM/512GB SSD/14"COL/FHD+/IPS/Garancia/
- Pénztárcakímélő áron eladó HP Pavilion laptop/I5-1135G7 8GB 256SSD 13" FHD IPS Gari
- Samsung Galaxy Book 3 /i5-1335u/8GB/512SSD/FHD/Garancia/ 6 napot ment eddig összesen
- Xiaomi Redmi Note 14 Pro Plus 12/512GB Újszerű,Dobozos,Kétkártyás 1év Garanciával!
- BESZÁMÍTÁS! MSI B550M R7 3700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB NZXT H5 Flow RGB 650W
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 4070 Ti Super GAMER PC termékbeszámítással
- Magyarország piacvezető szoftver webáruháza
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
- Jogtiszta Microsoft Windows / Office / Stb.
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest