webForumDet fria alternativet

Noobie fråga om vb.net och return

.NETur .NET

3 svar · 222 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Noobie fråga :)

Jag har en lätt fråga,vad exakt gör och hur fungerar det när man anger return i en funktion/sub.

Om jag säger tex att jag skapar ett dataset som heter MyDataSet i en sub och på slutet har jag med

return MyDataSet

Vad exakt händer då och hur fungerar det rent tekniskt

Tacksam!

Medlem sedan juni 20011 732 inlägg
#2

Funktionen returnerar något som du sedan tar emot helt enkelt. :)

Säg att du har gjort en enkel funktion som byter ut alla åäö i en sträng, en funktion du använder ofta. För att slippa göra detta varje gång så gör du en funktion som tar in en sträng (inparameter), byter ut alla åäö mot aao i den inskickade strängen och sedan returnerar den tillbaka till dig när alla åäö är utbytta. Då kan du använda funktionen så här:

// funktionen som tar in, gör om och returnerar:
public string ta_bort_åäö(string min_sträng) {
  min_sträng = min_sträng.Replace("å", "a");
  osv...
  return min_sträng; //här returnerar vi strängen när vi tagit bort alla åäö
}

//sen anropar jag funktionen:
string sträng_jag_vill_göra_om = "Håkan hälsade på";
string omgjord_sträng = ta_bort_åäö(sträng_jag_vill_göra_om);

Nu kan du snabbt och enkelt ta bort åäö bara genom att anropa funktionen och kasta in strängen så gör den om strängen och skickar tillbaka den till dig igen. Strängen omgjord_sträng tar alltså emot det som funktionen returnerar, alltså en sträng där alla åäö plockats bort... i detta fall så skulle omgjord_sträng innehålla "Hakan halsade pa".

Medlem sedan dec. 19996 522 inlägg
#3

Tack network antog att det var så, följdfrågor som kanske någon känner sig ha tid att svara på

1.om jag inte anger någon return,returneras det som default?

2.om jag skriver så här

Function GetDataSet(intDate as Integer) as DataSet
	'Massa kod för att hämta ut dataset
	Return MyDataSet
End Function

Är det någon skillnad på

Function GetDataSet(intDate as Integer) 
	'Massa kod för att hämta ut dataset
	Return MyDataSet
End Function

Tacksam!

Medlem sedan juni 20011 732 inlägg
#4
  1. Nej, du måste ange vad som ska returneras. Sedan kan du naturligtvis ha funktioner som inte returnerar något också, i c# heter dessa void (vilka ändå KAN returnera något vilket leder oss in på nästa fråga)...

  2. I ditt första exempel vet du vad funktionen returnerar. I ditt andra exempel vet du bara ATT den returnerar något men inte vilke datatyp (som i fallet om du försöker returnera i en void). Säg att du använder en funktion som någon annan har gjort och du har inte en aning om hur funktionen ser ut eller är uppbyggd... då vill man ju gärna veta _vad_ funktionen returnerar så blir det lite lättare att använda den.

141 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)