Sobes.tech
Junior — Middle

È possibile implementare una funzione all'interno di una struttura dati, e come funzionerebbe?

sobes.tech AI

Risposta dell'AI

In C# una struct può contenere metodi, incluse funzioni. Questo permette di incapsulare il comportamento insieme ai dati. I metodi all'interno della struct funzionano come nelle classi, ma bisogna ricordare che le struct sono tipi valore, e passando una struct a un metodo si crea una copia.

Esempio:

struct Point
{
    public int X, Y;

    public void Move(int dx, int dy)
    {
        X += dx;
        Y += dy;
    }
}

Chiamando Move su un'istanza di struct, viene modificata una copia, a meno che la struct non venga passata per riferimento. Per mantenere le modifiche, si può usare ref o parametri in.