Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C#: Merkkijonon ensimmäinen merkki

Sivun loppuun

Bartcodeman [01.10.2023 12:31:35]

#

Hei,

Miten ilmoitetaan, jos halutaan käyttää jonon pituudesta eli Lenght ensimmäistä merkkiä? Viimeinenhän on Lenght-1.

Sori olen aloittelija.

muuskanuikku [01.10.2023 13:13:40]

#

Listan ensimmäinen indeksi on 0, joten siihen pääsee käsiksi tällä tavalla: list[list.Length - list.Length]

Bartcodeman [01.10.2023 14:07:10]

#

Kiitoksia!

TapaniS [03.10.2023 13:15:03]

#

Tuossa täytyy kiinnittää huomiota, että length kirjoitetaan l e n g t h, eikä lenght. Tämän nuuskamuikku olikin kyllä hyvin huomioinut.

Metabolix [04.10.2023 13:13:19]

#

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];

groovyb [11.10.2023 10:37:40]

#

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();

tkok [15.10.2023 17:44:58]

#

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");
}

muuskanuikku [17.10.2023 12:00:23]

#

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".

tkok [22.10.2023 11:59:55]

#

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?

Metabolix [22.10.2023 14:46:03]

#

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;
}

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta