saxus (statz) | #9, Agyfasz (419) |
970 | #2a57 | ^ | Idézet | Tue, 28 Jan 2014 19:20:52 +01 |
84.3.*.* | *.catv.pool.telekom.hu |
"Mire??? Egy string lecserélésére??? Hát mire jó akkor ez a ciszta, ha a stringeket még mindig chartömbként kell kezelni? De te nem stringet, hanem karaktert cseréltél. string cseréjére ott a Replace() és a mindenféle egyéb stringfv. "Nem lehet benne ilyet, hogy" Hogy ne lehetne. Viszont az s az egy új string példány lesz. (Leszámítva, hogy ez így le sem fog fordulni, mert az s1, s2 nem inicializált). Igen, tényleg lassabb, ha csak _egy_ karaktert kell lecserélni. De hogy őszinte legyek, nem túl sűrűn kell ilyen. Ellenben lényegesen kevesebb szopás van azzal, multithread környezetben, hogy a stringek immutablek, nem kell a lockokkal baszakodni (ami költséges), ésszel használva lehet memóriát spórolni vele (gondolj bele pl. egy XML vagy bármi egyéb önleíró fájl feldolgozásakor, és ugyanez igaz a dinamikus nyelvekre is, amik tele vannak hashmapekkel (vagy akár maga a nyelvi elemek is igazából csak stringek meg láncolt lista, ld. lisp). |