Vraag : De Vraag van de Parameter van C# Ref? Hoe te om een te roepen methode die de parameter van Ref recursief heeft?

Hello,

I am fibonacciaantal proberen recursief gegevens te verwerken en computeFibonacciRecursive roepen (fib ref); van leiding.
However, krijg ik fout van computeFibonacciRecursive
return (ref n - 1) + computeFibonacciRecursive (ref n - 2); de fout
The is:

A ref of uit argument moet een toewijsbare variable

zijn hoe te om deze fout te bevestigen? Tevreden help.



class- Programma {nietige Leiding
static (koord [] args) {
int. fib = 20;
computeFibonacci (reffib); Console.WriteLine (fib);
fib = 20;
computeFibonacciRecursive (fib ref); Console.WriteLine (fib);
}

privé statisch int. computeFibonacciRecursive (ref int. n)
{
als (n <= 1)
{
terugkeer n;
}
else
{/> computeFibonacciRecursive terugkeer
ref n - 1) + computeFibonacciRecursive (ref n - 2);  // <
}
}

private statische int. computeFibonacci (ref int. n)
{
int. a = 1, B = 1;
voor (int. i = 3; i <= n; i++)
{
int. c = a + B;
a = B;
B = c;
Console.WriteLine („B is=“ + B);
}
terugkeer B;
}

}

Antwoord : De Vraag van de Parameter van C# Ref? Hoe te om een te roepen methode die de parameter van Ref recursief heeft?

u hebt niet „ref nodig“ omdat u die reeds een waarde terugkeren…
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
klassen Programma
    {
        statische nietige Leiding (koord [] args)
        {
            int. fib = 20;
            fib = computeFibonacci (fib); Console.WriteLine (fib);
            fib = 20;
            fib = computeFibonacciRecursive (fib); Console.WriteLine (fib);
        }

        privé statisch computeFibonacciRecursive int. (int. n)
        {
            als (n  <>
           
Andere oplossingen  
 
programming4us programming4us