Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - :alert: [C#] Quando si fa più di un return...errore :( :alert:
Forum - C# / VB.NET - :alert: [C#] Quando si fa più di un return...errore :( :alert:

Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 14:58
Martedì, 25/09/2012
Salve,
data la seguente funzione:

Codice sorgente - presumibilmente C#

  1. private string RitornoStringaSeparatore(string stringa, int tipoReturn)
  2.         {
  3.             string[] arraystringhe = stringa.Split(new char[] { ':' });
  4.             if (tipoReturn == 1)
  5.                 return arraystringhe[0];
  6.             if(tipoReturn == 2)
  7.                 return arraystringhe[1];
  8.         }



Quando compilo perchè mi dà quest'errore?

Errore    1    'ChatClient.frmMain.RitornoStringaSeparatore(string, int)': non tutti i percorsi del codice restituiscono un valore    C:\Users\cristian\Desktop\ChatBar\ChatClient\frmMain.cs    135    24    ChatClient


Vi dico per tutta la mia esperienza ho usato solo un return ma se ne voglio usare due??? Perchè il compilatore non si accontenta mai?

Grazie



NBM!
PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 15:02
Martedì, 25/09/2012
perché se tu hai tipoReturn diverso da 1 e 2 due, lui non sa cosa restituire.. Manca un else return qualcos'altro..


In attesa della fine del mondo, fissata per l'anno prossimo, sono alla ricerca di un notaio con cui fare testamento...
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5460
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:12
Martedì, 25/09/2012
Il compilatore ha sempre ragione ...

Ragiona un momento ... se una certa cosa è 1 allora ... se è 2 allora ... ma se non è nè 1 nè 2, cosa si fa?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 16:37
Martedì, 25/09/2012
Beh al compilatore si fa :pat: dicendo: "Beh tu sei capiscione e io il programmatore!". Beh vero...stupidamente non ci avevo pensato.... ho risolto trasformandola in questo modo per chi volesse sapere:

Codice sorgente - presumibilmente C#

  1. /* Return stringa prima (1) o dopo (2) del carattere : */
  2.  
  3.         private string RitornoStringaSeparatore(string stringa, int tipoReturn)
  4.         {
  5.             string[] arraystringhe = stringa.Split(new char[] { ':' });
  6.             return arraystringhe[tipoReturn];
  7.         }



Grazie per l'aiuto lo stesso Guru.


NBM!
PM Quote