C
int Test(int* a)
{
if(a != null) *a = 5; // optionaalinen output-parametri
return 10;
}
C#
- EI VOI KÄYTTÄÄ REF EIKÄ OUT, koska parametrin on oltava optionaalinen, ja molemmat REF sekä OUT vaativat että parametri on aina non-null.
C# - optionaalinen metodin output-parametri
5
250
Vastaukset
- 23333
Mihin tuollaista edes tarvitsee? Mikset vain palauta metodista arvoa?
- c++ yhä paras
Jos et ole koskaan käyttänyt C :aa niin ei kannata edes yrittää vastata. "Mihin tuollaista tarvitsee", voi v....
- 222223333
c++ yhä paras kirjoitti:
Jos et ole koskaan käyttänyt C :aa niin ei kannata edes yrittää vastata. "Mihin tuollaista tarvitsee", voi v....
No nyt on kyse C# kielestä? Miksi koitat koodata C# kielellä C kun ne ovat eri kieliä?
- lelumyass
C#
unsafe int test(int* a)
{
if (a != null) *a = 5;
return 10;
}
Ja ongelma oli? "if(a != null)"
Ja tässä sulla ei tietenkään ole mitään varmuutta, että a on alustettu oikein eli joko null:ks tai osoittaa oikeeseen muistipaikkaan ennen metodin kutsua:
int* access_violation; // sisältää satunnaisen osoitteen...
test(access_violation); // voila!!
c#:ssä:
http://msdn.microsoft.com/en-us/library/dd264739.aspx
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 274146
Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot1344017- 583614
Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans223463- 793437
Persut huutaa taas: "kato! muslimi!"
Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe643301- 812866
- 542785
- 202544
Korjaamo suositus
Vahva suositus Kumpulaisen korjaamolle vanhan 5-tien varrelta! Homma pelaa ja palvelu ykköslaatuista. Mukavaa kun tuli p142274