In C#, il seguente metodo non verrà compilato:Perché il compilatore si comporta diversamente con questo codice?
public bool IsItTrue()
{
}
Gli errori del compilatore: 'IsItTrue()': non tutti i percorsi di codice restituiscono un valore, che ha perfettamente senso. Ma la seguente compilazione senza alcun problema.
public bool IsItTrue()
{
while (true)
{
}
}
Quale sembra errato come nessuna dichiarazione di ritorno. Perché è così? Qualsiasi aiuto qui ...,
piccola spiegazione per favore .., – Dhana
Interessante il fatto che il compilatore avrebbe permesso questo.Posso capire perché * potrebbe * essere permesso, ma mi chiedo quale sia lo scopo della vita reale che serve. –
So che potremmo volere qualcosa di simile ad un tempo (vero) per un thread ma anche un thread dovrebbe finire ad un certo punto? Quindi, se il compilatore può rilevare una situazione del genere, perché non lancia un punto di errore in un ciclo infinito? – uriDium