Студопедия

Мы поможем в написании ваших работ!




Оператор goto

Оператор goto передает управление именованному оператору.

Чаще всего оператор goto используется для передачи управления определенной подписи смены регистра или подписи по умолчанию в операторе switch.

Оператор goto также используется для выхода из вложенных циклов со сложной структурой.

Пример

В следующем примере демонстрируется использование оператора goto в операторе switch.

Язык C#

 

class SwitchTest

{

static void Main()

{

Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");

Console.Write("Please enter your selection: ");

string s = Console.ReadLine();

int n = int.Parse(s);

int cost = 0;

switch (n)

{

case 1:

cost += 25;

break;

case 2:

cost += 25;

goto case 1;

case 3:

cost += 50;

goto case 1;

default:

Console.WriteLine("Invalid selection.");

break;

}

if (cost != 0)

{

Console.WriteLine("Please insert {0} cents.", cost);

}

Console.WriteLine("Thank you for your business.");

}

}

/*

Sample Input: 2

 

Sample Output:

Coffee sizes: 1=Small 2=Medium 3=Large

Please enter your selection: 2

Please insert 50 cents.

Thank you for your business.

*/

 

В следующем примере демонстрируется использование оператора goto для выхода из вложенных циклов.

Язык C#

 

public class GotoTest1

{

static void Main()

{

int x = 200, y = 4;

int count = 0;

string[,] array = new string[x, y];

 

// Initialize the array:

for (int i = 0; i < x; i++)

 

for (int j = 0; j < y; j++)

array[i, j] = (++count).ToString();

 

// Read input:

Console.Write("Enter the number to search for: ");

 

// Input a string:

string myNumber = Console.ReadLine();

 

// Search:

for (int i = 0; i < x; i++)

{

for (int j = 0; j < y; j++)

{

if (array[i, j].Equals(myNumber))

{

goto Found;

}

}

}

 

Console.WriteLine("The number {0} was not found.", myNumber);

goto Finish;

 

Found:

Console.WriteLine("The number {0} is found.", myNumber);

 

Finish:

Console.WriteLine("End of search.");

}

}

/*

Sample Input: 44

 

Sample Output

Enter the number to search for: 44

The number 44 is found.

End of search.

*/

 

Спецификация языка C#

Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:

  • 5.3.3.10 Операторы break, continue и goto
  • 8.9.3 Оператор goto

 

 


<== предыдущая страница | следующая страница ==>
Оператор continue | Оператор return

Дата добавления: 2015-07-26; просмотров: 116; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.001 сек.