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
923
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
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k713909- 1013505
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah793343Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia362638- 1241608
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta361516Sulla on avaimet ja keinot
Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi191124Meitä ei tule
Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌221114Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?421100Itseään kannattaa tarkastella realistisesti ja
miettiä mihin ne rahkeet oikeesti riittää. Tyhmempikin ymmärtää että varakas ylemmän tason mies ei kelpuuta sellaista ku1181026