• Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
    • Categorie

      • Sviluppo
        • Linguaggio di programmazione
          • C#
          • C++
          • Javascript
          • Lua
        • Videogiochi
          • LOVE2D
          • Phaser 3
          • RayLib
          • Unity3D
          • Unreal Engine
        • Web
          • Backend
            • PHP e MySQL
          • CMS
          • Frontend
            • CSS
            • Html
            • Javascript
    • Login

Cerca

Hai qualche domanda?
contact@develop4fun.com
Develop4fun
  • Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
    • Categorie

      • Sviluppo
        • Linguaggio di programmazione
          • C#
          • C++
          • Javascript
          • Lua
        • Videogiochi
          • LOVE2D
          • Phaser 3
          • RayLib
          • Unity3D
          • Unreal Engine
        • Web
          • Backend
            • PHP e MySQL
          • CMS
          • Frontend
            • CSS
            • Html
            • Javascript
    • Login

C#

Home » Articoli » Programmare in C# – Le funzioni e i metodi

Programmare in C# – Le funzioni e i metodi

  • Pubblicato da Antonella De Chiara
  • Categorie C#, Guida, Mac, Programmare in C#, Programmazione Videogiochi, Unity
  • Data 19 Giugno 2019
  • Commenti 0 commenti
C#
(Ultimo aggiornamento: 28 Settembre 2021)

Funzioni e Valori di Ritorno in C#

A volte ci capita di aver necessità di nuove funzioni, funzioni di calcoli, verifiche o procedure ripetute.

Una funzione ci aiuta incredibilmente nel nostro programma facendoci risparmiare migliaia di righe di codice. Sopratutto quando abbiamo necessità di eseguire codici ripetuti ma in diverse situazioni con risultati diversi. Una funzione svolge appunto questo questo compito.

Andiamo ad analizzare la struttura di una funzione.

 private <tipo> <nome_funzione> (<tipo> <variabile>) {
    return <valore>
}

Facciamo un esempio in linguaggio “umano”.

public void DoStuff()
{
    Console.WriteLine("I'm doing something...");
}

La prima parte, “public“, è “visibility” ed è facoltativa. Se non lo definisci, la funzione sarà “private“. Maggiori informazioni a riguardo più avanti. Il prossimo è il tipo da restituire. Potrebbe essere qualsiasi tipo valido in C#, o come lo abbiamo fatto qui, nullo. Void significa che questa funzione non restituisce assolutamente nulla. Inoltre, questa funzione non accetta parametri, come puoi vedere dal set vuoto di parentesi, quindi in realtà è solo un po’ soporifero. Cambiamolo:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    return result;
}

Abbiamo cambiato quasi tutto. La funzione ora restituisce un intero, prende due parametri (entrambi numeri interi) e invece di stampare qualcosa, esegue un calcolo e quindi restituisce il risultato. Ciò significa che possiamo sommare due numeri da vari punti nel nostro codice, semplicemente richiamando questa funzione, invece di dover scrivere il codice di calcolo ogni volta. Mentre non risparmiamo tanto tempo e sforzi in questo piccolo esempio, farete meglio a credere che imparerete ad amare le funzioni, man mano che usa C#. Questa funzione è chiamata così:

int result = AddNumbers(10, 5);
Console.WriteLine(result);

Come accennato, questa funzione restituisce effettivamente qualcosa, e deve, perché abbiamo detto a C# che deve farlo. Quando dichiariamo qualsiasi altra cosa al posto di void come un tipo return, ci stiamo costringendo a restituire qualcosa. Puoi provare a rimuovere la linea di return dall’esempio sopra, e vedere il compilatore lamentarsi:

‘AddNumbers(int, int)’: not all code paths return a value

Il compilatore ci sta ricordando che abbiamo una funzione che non restituisce qualcosa. E il compilatore è abbastanza intelligente! Invece di rimuovere la linea, prova qualcosa del genere:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
    return result;
    }
}

Vedrete esattamente lo stesso errore – ma perché? Perché non vi è alcuna garanzia che la nostra istruzione if valuterà in true e la linea di return venga eseguita. Potrete risolvere questo problema avendo una seconda, istruzione predefinita di return alla fine:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
    return result;
    }
    return 0;
}

Questo risolverà il problema che abbiamo creato per noi stessi e mostrerà anche che possiamo avere più di un’istruzione return nella nostra funzione. Non appena viene raggiunta un’istruzione return, la funzione viene lasciata e nessun altro codice viene eseguito. In questo caso, significa che finché il risultato è superiore a 10, il “return 0” non viene mai raggiunto.

I metodi

I metodi vengono dichiarati in class o struct specificando:

  • Un livello di accesso facoltativo, ad esempio public o private. Il valore predefinito è private.
  • Modificatori facoltativi, ad esempio abstract o sealed.
  • Il valore restituito o void se il metodo non ha alcun valore.
  • Nome del metodo.
  • Tutti i parametri del metodo. I parametri del metodo vengono racchiusi tra parentesi e separati da virgole. Le parentesi vuote indicano che il metodo non richiede parametri.

Queste parti costituiscono la firma del metodo.

Ho una classe che si chiama Eroe, e questo eroe deve eseguire un tipo ben determinato di azione.

using System;
public class Eroe {
   // Call with an int variable.
   int force = 4;
   int staminiaA = Square(force);

   // Il nostro eroe deve attaccare
   public void Attack(string saidAttack) {
      Console.WriteLine(saidAttack);
   }
}

In questo modo, una volta chiamata la funzione Attack("Il mio personaggio attacca"), vedremo sulla console il messaggio scelto sulla console.

Molto più spesso, le funzioni in una classe, rispetto al linguaggio php, vendono chiamate “metodi”.

Esattamente come la funzione, un metodo è un blocco di codice che contiene una serie di istruzioni. Un programma fa in modo che le istruzioni vengano eseguite chiamando il metodo e specificando gli argomenti del metodo obbligatori. In C#, ogni istruzione eseguita viene attuata nel contesto di un metodo. Il metodo Main è il punto di ingresso per ogni applicazione C# e viene chiamato da Common Language Runtime (CLR) quando viene avviato il programma.

Per quanto riguarda tutte in queste informazioni riguardanti funzioni e metodi in C#, non vi preoccupate, faremo degli esempi pratici a breve durante il corso dedicato a Unity.

Ricordatevi sempre che lo sviluppo è una forma d’arte.


I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento

▼ SEGUICI SU ▼
» Facebook (italiano): https://www.facebook.com/develop4funwebdev
» Facebook (francese): https://www.facebook.com/developforfun
» Instagram: https://www.instagram.com/develop4fun
» Twitter: https://twitter.com/Develop4funW

» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Visualizzazioni post: 1.623

Tag:csharp, funzione, funzione csharp, metodi, programmare videogiochi, Programmatore, Videogiochi

  • Share:

ABOUT INSTRUCTOR

Antonella De Chiara
Antonella De Chiara

Appassionata di giochi di ruolo giapponesi, genere che ha scoperto grazie alla saga Final Fantasy e approfondito con i capolavori usciti negli ultimi anni, s’interessa al retrogaming, rigiocando e programmando vecchie glorie come Monkey Island, Prince of Persia o vecchi capolavori marchiati Nintendo.
Antonella comincia il suo percorso giornalistico in Italia, lavorando con Gamerepublic, PS Mania e Pokémon Mania. Si trasferisce in Francia per studiare la programmazione web e gamedev: grazie a questo percorso anomalo nasce Develop4fun.

Articolo precedente

Programmare in C# - Le Variabili
19 Giugno 2019

Articolo successivo

Programmare in C# – Le istruzioni condizionali (if, else, switch)
9 Luglio 2019

Ti potrebbe anche piacere

unity3d
Chi sono gli sviluppatori nel mondo dei videogiochi?
22 Novembre, 2021
Steam
Come pubblicare un videogioco su Steam?
21 Settembre, 2021
Money Game
Sviluppare Videogiochi: come fare un’indagine sul mercato
9 Settembre, 2021

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Cerca

Impara a programmare videogiochi web con Phaser 3

Impara a programmare videogiochi web con Phaser 3

€49.99
HTML e CSS: Corso di programmazione per principianti

HTML e CSS: Corso di programmazione per principianti

€69.99
[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

€49.99
D4F Games

Ultimi articoli pubblicati

unity3d
Chi sono gli sviluppatori nel mondo dei videogiochi?
22Nov2021
[Unreal Engine] Un nuovo fantastico asset GRATUITO!
[Unreal Engine] Slay, un nuovo fantastico asset GRATUITO!
22Set2021
Steam
Come pubblicare un videogioco su Steam?
21Set2021

Develop4fun.it by Develop4fun.

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici. L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Preferenze
{title} {title} {title}