Sto studiando questo esempio di codice:Come funziona la dichiarazione goto in questo esempio?
class Program
{
static void Main(string[] args)
{
int x = 10;
int y = 10;
int generate=0;
string [,] myArrayTable = new string[x, y];
Console.WriteLine("Enter a seek number: ");
string cautat = Console.ReadLine();
for (int i = 0; i < x; i++)
{
for(int j = 0;j < y; j++)
{
myArrayTable[i, j] = (generate++).ToString();
}
}
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
if(cautat.Equals(myArrayTable[i,j]))
{
goto Found;
}
}
}
goto NotFound;
Found:
Console.WriteLine("Numarul a fost gasit");
NotFound:
Console.WriteLine("Numarul nu a fost gasit !");
Console.ReadKey();
}
}
Non capisco il motivo per cui l'affermazione "Not Found" è stato chiamato e la sua stampa relativo messaggio sulla console se entro in un numero di cercare come 10, in questo caso goto: L'istruzione Found è in esecuzione, quindi goto: l'istruzione NotFound non verrà mai chiamata, ma il suo messaggio corrispondente verrà stampato sulla console, non capisco come da quando in questo caso il programma non salta mai a questa etichetta "NotFound".
Per favore, se ora mi dai una mano su questo ...
Grazie
grande esempio di 'goto' abuso – Andrey
Si dovrebbe ristrutturare questo non utilizzare goto in ogni caso. Non è considerato una buona pratica in generale, quindi avrai un sacco di scuotimenti sulla revisione del codice, e tende a essere non mantenibile. Per essere sinceri c'è un inconfondibile odore di odore di codice che emana da questo. – Cruachan