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

902

    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. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      83
      6349
    2. ROTAT VALTAAVAT ALUEITA

      Asukkaat nyt loukkuja tekemään ja kiireellä, jätehuolto kuntoon, jätteet niille kuuluville paikoille, huomioikaa yrittäj
      Äänekoski
      52
      4566
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      76
      4297
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      131
      4091
    5. 56
      3417
    6. Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan

      Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️
      Ikävä
      26
      3078
    7. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      7
      2747
    8. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      36
      2386
    9. Kerro todelliset motiivit

      kaivattuasi kohtaan?
      Ikävä
      205
      2198
    10. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      46
      2046
    Aihe