Hei,
Miten ilmoitetaan, jos halutaan käyttää jonon pituudesta eli Lenght ensimmäistä merkkiä? Viimeinenhän on Lenght-1.
Sori olen aloittelija.
Listan ensimmäinen indeksi on 0, joten siihen pääsee käsiksi tällä tavalla: list[list.Length - list.Length]
Kiitoksia!
Tuossa täytyy kiinnittää huomiota, että length kirjoitetaan l e n g t h, eikä lenght. Tämän nuuskamuikku olikin kyllä hyvin huomioinut.
Kannattaa kiinnittää huomiota myös siihen, että jonon pituus eli Length on tarpeen vain, kun tutkitaan jonon loppua. Jonon alusta voi laskea yksinkertaisesti numeroilla:
var ensimmäinen = jono[0]; var toinen = jono[1]; var toiseksiViimeinen = jono[jono.Length - 2]; var viimeinen = jono[jono.Length - 1];
C#:ssa voi toki myös hyödyntää LINQ:iä:
var eka = merkkijono.First(); //tai FirstOrDefault() jos arvo voi olla myös null var vika = merkkijono.Last();
Yritin löytää parhaan aloittelijaystävällisen, mutta harhaan johtavan tavan. Paras keksintö oli foreach-silmukka joka palauttaa ekalla.
public static T AnnaEka<T>(IEnumerable<T> lähde) { foreach (var elementti in lähde) { return elementti; } throw new InvalidOperationException("Ei oo"); }
tkok kirjoitti:
Yritin löytää parhaan aloittelijaystävällisen, mutta harhaan johtavan tavan. Paras keksintö oli foreach-silmukka joka palauttaa ekalla.
public static T AnnaEka<T>(IEnumerable<T> lähde)
Etsi sata aloittelijaa ja pyydä heitä laatimaan genericsiin / templateihin pohjautuva luokka, niin saatat ehkä muuttaa mieltäsi. Aloittelijaystävällisin ratkaisu on kaikista "tyhmin".
muuskanuikku kirjoitti:
Etsi sata aloittelijaa ja pyydä heitä laatimaan genericsiin / templateihin pohjautuva luokka, niin saatat ehkä muuttaa mieltäsi. - -
En havainnut viestissäni mielipidettä. Minkä suhteen tarkoitat, että muuttaisin mieltäni?
Geneeriset funktiot ja IEnumerable eivät ole kovin aloittelijaystävällisiä. Voisi ehdottaa pikemmin näin:
foreach (var eka in jono) { // Laita kyseistä arvoa käyttävä koodi tänne. break; }
Aihe on jo aika vanha, joten et voi enää vastata siihen.