I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
ref er hypersmart, forudsat men ved hvad man laver :)
Ved at bruge ref, kan du ændre variabel værdien inde i metoden og din ref vil efterfølgende være ændret ligeledes.
public void Sort(double[] distance,int startPos,int endPos) versus public void Sort(ref double[] distance,int startPos,int endPos) { double = some new value; } Nu ved jeg ikke lige om jeg ville bruge en ref i denne signatur, men pyt..
det jeg har brug for at holde styr på hvilke ruter der er blevet ændret--- dvs at hvis jeg sender rute (1,2,3)s distancer afsted. med længden (5,7,5) og den sortere dem (1,3,2) så ved den inde i min metode de er ændret eller ?
haha... ja, den er faktisk lidt undervurderet, men ved overforbrug kan programmet kompliceret unødigt. En klasse bør kun have en et ansvar, så husk kun at bruge den imellem metodekald indeni samme klasse. http://en.wikipedia.org/wiki/Single_responsibility_principle
Lidt yderligere info: ref bruges osse til kald mod native DLL'er, f.eks. Win32API'et. Skal der eksempelvis bruges en pointer til en long i et API-kald, så er det lettest at mappe c# wrapperen som en 'ref long'.
Det antyder så osse, at public void Sort(ref double[] distance,int startPos,int endPos) { double = some new value; } arbejder på pointeren distance.
I nogle situationer kan man vinde lidt performance ved at bruge ref parametre fremfor 'normale' parametre. Men det er på bekostning af risiko for side-effekter!
Endelig har 'ref' en stedbror kaldet 'out'. Osse nyttig i nogle situationer.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.