Pari basic kysymystä

CSharp noob

Ensimmäiseksi kun olen lähinnä näiden eng kielisten sivustojen varassa, niin pari asiaa on jääny askarruttaa.

Ensimmäinnen on tämä muistin varaaminen ja niiden poistaminen.
Mitkä objektit lähtee automaattisesti ja mitkä pitää tehdä manuaalisesti?

Mulla on nappuloita jotka on tehty new operaattorilla, mihin sitten dynaamisesti liitän kuvia. Mutta missään en poista näitä kuvia? PItäiskö ja missä?

SItten mulla on oma luokka, mikä pitää eräänlaista animaatiota yllä, eli valitun nappulan vieressä sykkii mun Image objekti, tämäkin on tietenkin tehty new:llä, mutta sitäkään en poista. Luokissa ei ole deconstructorii kuten C :ssa.
Ja mitä tapahtuu jos teen aina vaan Image img = Image.FromFile(...);
ja vaikka pictureBox1.Image = img; Eli syökö toi aina vaan lisää muistia?
Pitäiskö tehdä se niin, että
if(pictureBox1.Image != null) pictureBox1.Image.Dispose();
ja sitten vasta laittaa uus image?

Entäs muut Formissa olevat omat new operaattorilla varatut asiat?
Pitäiskö ne ottaa kiinni siinä Form.Close viestissä ja poistaa kaikki varaukset?

Toi on vähä sekavaa, kun osan poistaa itse ja osan se tekee automaattisesti.
-------------------

Toinen on samaan imageen liittyvä asia.
Miten toi Grapich.DrawImage(Image, Point[]));
Oikein toimii? En saa sitä toimimaan halutulla tavalla sitten mitenkään.

Eli mulla on Image otettu tiedostosta, mitä timerin avulla yritän saada rullaamaan kaksi kertaa sekunnissa ja image liikkuu pysty suunnassa 3 pikselii kerrallaan alaspäin ja loput siitä menee ylös niin, että siitä saa sellasen jatkumon. Timer toimii, mutta Image ei rullaa. C :lla saisin ton toimimaan heti.

Olisin erittäin kiitollinen jos joku viittis laittaa vähä esimerkin tosta.

Kiitos,
C# aloittelija

2

1038

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • C#:ssa kaikki muistin tyhjentäminen on automaattista. Siis jos puhutaan muistista. Se miten ohjelmasi tallentelee juttuja on toinen juttu. Mutta kun varaat muistia, niin kun et tarvitse enää tietoa, niin kielen järjestelmät tyhjentävät muistin.

      Muu kysymyksen osio oli jo niin sekavaa, että en pohdi sen sisältöä. Luulisin että teet jonkun asian tuossa väärin, sillä kokemukseni mukaan tuon minkä mainitset tekeminen c on paljon hankalampaa kuin c#:lla. Koska alussa yleensäkin mietit tuota muistin tyhjennystä, kertoo että et ole kovin kokenut c# ohjelmoija - saati kokenut ohjelmoija. Joten paneudu rajapinnan toimintaa c# kautta, älä sotke mukaan c monimutkaisia rakenteita. c# ja c ovat ihan täysin eri asia, vaikka syntaksi vähän on saman tapaista.

      • Ja C# on deconstructorit
        class Kissa
        {
        ~Kissa() // dekostrutori
        {

        }
        }


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mitä tahtuu Kasperi Viita/Suviviita

      Poliisia ja ambulanssia iso määrä.
      Seinäjoki
      85
      3541
    2. Kalasataman talossa lienee rakennusvirhe

      Ei pitäisi olla mahdollista parvekkeen kautta tulipalon kiivetä katolle saakka kuin korkeintaan ylimmästä kerroksesta.
      Maailman menoa
      187
      1403
    3. Mikä on kaivattusi

      ammatti?
      Ikävä
      77
      1387
    4. Kristillinen Kaste on syntisten kaste, ei itsensä uskoviksi julistaneiden kaste

      Raamatun mukaan vain syntisyyden vuoksi kastetut saavat kasteen hyödyn, syntien anteeksisaamisen ja Pyhän Hengen lahjan
      Kaste
      240
      1070
    5. Kaipaatko nainen

      Semmoista tosi hankalaa ja arkaa miestä? Pitäisitkö hänet aina omanasi jos saisit hänet? Miten huomioisit hänen herkkyyd
      Ikävä
      105
      1010
    6. Venäjä teki mahtavan iskun Kiovaan?

      Miksi Ukraina ei kykene tekemään Moskovaan yhtä mahtavia iskuja.
      Maailman menoa
      310
      962
    7. Onko kaivattusi ulkonäkö

      tarpeeksi miellyttävä? 🥕
      Ikävä
      45
      887
    8. Mökille pariksi viikoksi hänen kanssaan

      Ei teknologialaitteita. Niin ❤️
      Ikävä
      95
      867
    9. Milloin ymmärsit

      Milloin tunnistit, että sinulle kirjoitetaan ja kuka kirjoittaa? Tarkka päivämäärä ja kellonaika 😉 Önnönnöö, jos ei os
      Ikävä
      78
      855
    10. Nojatuoli !

      Uutta kehiin, kun edellinen pikavauhtia täyttyi, pitäisikö kiittää näitä asian jouduttaneita? Pilvet leijaa, sadetta en
      80 plus
      124
      835
    Aihe