Hej undrar lite om hur funktions anrop fungerar. Jag har en kod där jag på 4 ställen anropar en funktion och skickar med samma värde till den via en ref parameter. Körs all kod i funktionen varje gång jag annropar den med samma värde eller sparas vädena eller något sådant. Bör man minimera antalet funktions anrop i en kod för att den körs varje gång och kanske använda variabler för att minnas värdena ist. .NET sparar inte värdet av ditt tidigare anrop utan exekverar metoden fullt ut varje gång. Självklart kan detta bli en prestandabelastning, speciellt som du gör en komplicerad beräkning i funktionen eller kanske anropar en Web Service över Internet (som kanske tar 2 sek för att svara).Nybörjarfråga om Funktioner.
Förlåt om det är luddigt formulerat men klockan är mycket ;)
MVH Henrik LSv: Nybörjarfråga om Funktioner.
Om du vet att det är samma parameter till din funktion alla fyra gångerna skulle jag definitivt lagra undan värdet av det första anropet och sedan använda detta värde istället för att anropa funktionen de andra tre gångerna.
Det finns en liten reservation till detta, nämligen om din funktion använder sig av information från klassen som kan ändras mellan anropen. Ett enkelt exempel på detta skulle kunna vara en funktion men följande signatur string GetValue(int index), om den underliggande listan av värden ändras så kommer självklart resultatet ändras även om man anropar GetValue(3) varje gång. Detta var ett trivialt och självklart exempel, men det kan lätt gömma sig liknande fall om man inte tänker sig för.
/Mattias