Sono nuovo in C#. Ho provato questo con il parametro in C#Parametro di uscita in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class First
{
public void fun(out int m)
{
m *= 10;
Console.WriteLine("value of m = " + m);
}
}
class Program
{
static void Main(string[] args)
{
First f = new First();
int x = 30;
f.fun(out x);
}
}
ma ottengo alcuni errori come "Uso di non assegnata fuori parametro 'm'" e
Il parametro fuori 'm' deve essere assegnato alla prima il controllo lascia il metodo corrente.
Allora, qual è il significato di questi errori e perché è obbligatorio assegnare 'm' quando sto già assegnato un valore a x.
Stai confondendo 'parametri esterno ne con' parametri ref'. 'fun()' non ha accesso al valore precedente di qualunque cosa 'm' sta puntando, e quindi non può moltiplicarlo. Questa distinzione è intenzionale, i parametri 'out' sono pensati per permetterti di avere più valori di ritorno. È come se stessimo cercando di creare una funzione che moltiplica il valore della variabile a cui viene assegnato il risultato. – millimoose