Osoittimien käyttö C# luokkien jäseninä

The Real J.

Olen aloittamassa uutta projektia, jossa on tarkoituksena päivittää tietty softa C muodosta C# muotoon. Olen vielä aloittelija C#:n kanssa joten jotkut asiat ovat vielä hieman hakusessa.

Yksi vanhan softan luokista sisältää kaksi pointteria viitaten luokkien X ja Y olioihin. Kyseinen luokka toimii ikään kuin putkena näiden kahden luokan välillä ja jokainen tämän luokan instanssi siis yhdistää tietyn luokan X instanssin tiettyyn luokan Y instanssiin.

Ongelmana on että käsittääkseni C#:ssa ei suositella pointtereiden käyttämistä, mutta tässä tapauksessa se on aika lailla välttämätöntä. Vaihtoehtona olisi laittaa luokkien X ja Y oliot suoraan tämän linkkiluokan jäseniksi, mutta silloin jos jonkin X:n tai Y:n instanssin tietoja muutetaan pitäisi käydä läpi kaikki linkkioliot ja päivittää niiden tiedot, mikä voisi viedä melkoisesti suoritusaikaa. Ja tietojen monistaminen tuolla tavalla kuluttaisi turhaan muistia.

Jos siis tuo linkkiolio toteutetaan osoittimia käyttämällä miten olioiden tuhoamisen kanssa on. Ilmeisesti noille pitäisi määritellä Dispose-metodi ja käyttää sitä tarvittaessa ?

1

931

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Koodia

      Käytännössä C#:ssa olioita kuljetetaan aina viittauksilla (structilla voi kiertää tuon), joten tuota päivitysongelmaa ei tule.

      Roskienkeruu hoitaa tuhoamisen, Disposea tarvitset, jos haluat kutsua tuhoamista itse, esimerkiksi sulkeaksesi tiedosto- tai tietokantayhteyksiä.

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

    Luetuimmat keskustelut

    1. Nasima löi Jussille luun kurkkuun

      Nasima kertoi ettei Jussi sovi puhemieheksi, koska sallii rasismin. Mihin toimiin perussuomalaiset ryhtyvät? Kuka nouse
      Maailman menoa
      456
      8173
    2. Razmyar on säälittävä - puhemiehellä ei ole mitään syytä ottaa kantaa tähän "silmäkohuun"

      jonka toimittajat sai aikaan. Asia ei kuulu puhemiehelle millään lailla. Razmyar haluaa taas vaan huomiota. Mutta jos r
      Maailman menoa
      116
      5647
    3. Pitkän linjan yritysjohtaja: Suomen tapahtumat eivät ole Aasian kärkiuutinen

      Viimeaikaista kohua on käytetty sisäpoliittisena lyömäaseena, Thomas Zilliacus sanoo. – Koska asiaa kuitenkin kommentoi
      Maailman menoa
      116
      4678
    4. Miten Eerolan silmäkuvat voivat levitä muutamassa tunnissa ympäri maailmaa?

      Seuraako koko maailma persujen ja erityisesti Eerolan somea reaaliajassa? Edes kansanedustajan itsemurha eduskuntatalos
      Maailman menoa
      207
      4542
    5. Siviilipalvelusmies Halla-aho normalisoi rasismin perussuomalaisissa

      SMP:n tuhkille perustettu puolue ei ollut ihmisiä vastaan, vaan instituutiokriittinen. "Missä EU - siellä ongelma", oli
      Perussuomalaiset
      33
      4488
    6. Suomalaisilta vaaditaan valtavasti suvaitsevaisuutta - miksi sitä ei vaadita muslimeilta

      Suomalaisilta vaaditaan kaikkea, pitää olla suvaitsevainen ja hyväksyä vieraiden tavat, rasisti ei saa olla jne. Miksi s
      Maailman menoa
      52
      3987
    7. Juuri Suomen valtamedian toimittajat teki "silmävääntelystä" sen kohun

      ja ilmeisesti ottivat yhteyttä myös ulkomaisiin medioihin, että katsokaas tätä. Mutta Japanin medioissa on asiaan suhta
      Maailman menoa
      160
      3873
    8. Demarit ovat oikeasti törppöjä eli heikkoälyisiä

      ja todistavat sitä päivittäin täällä lapsellisilla jutuillaan. Kauheasti on hehkuttaneet kuinka demarien kannatus vaan
      Maailman menoa
      77
      3747
    9. Perussuomalaiset eivät harrasta maalittamista kuten vasemmisto

      Huomaa tässä keinotekoisessa "rasismi"-kohussakin kuinka vasemmistolaiset maalittavat Perussuomalaisia. Me emme vastaava
      Maailman menoa
      43
      3688
    10. SDP:n kansanedustaja Marko Asell: Suomen myönnettävä maahanmuuton ongelmat

      Hänen mielestään Suomen pitää pyrkiä rajoittamaan jyrkästi turvapaikanhakijoiden pääsyä maahan ja hän arvioi, että maaha
      Maailman menoa
      85
      3491
    Aihe