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 ?
Osoittimien käyttö C# luokkien jäseninä
The Real J.
1
902
Vastaukset
- 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
- 836349
ROTAT VALTAAVAT ALUEITA
Asukkaat nyt loukkuja tekemään ja kiireellä, jätehuolto kuntoon, jätteet niille kuuluville paikoille, huomioikaa yrittäj524566- 764297
- 1314091
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?563417Miten 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 🤔❤️263078Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan72747- 362386
- 2052198
- 462046