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
216
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
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225124- 254278
- 272441
- 342234
- 371988
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164