Goto operatori nishonni talab qiladi ya’ni ikki nuqta bilan yozilgan C# identifikatori. Nishon goto iborasi bilan bir xil usulda va bir xil doirada bo'lishi kerak. Quyidagi misol dasturida 1 dan 100 gacha raqamlarni qo'shish sikli goto operatori va mos keladigan nishon yordamida tashkil etilgan.
int х = 1;
nishon1:
х++;
if (x < 100) goto nishon1;
Bundan tashqari, goto operatori switch operatoridagi case yoki default bo‘limga shartsiz o‘tish uchun ishlatilishi mumkin. case yoki default bo’limlar switch operatorida teg rolini bajaradi. Shuning uchun ular goto operatorining manzillari bo'lib xizmat qilishi mumkin. Biroq, goto operatori switch operatori ichida bajarilishi kerak. Bu shuni anglatadiki, uni switch operatoriga shartsiz o'tish uchun tashqi vosita sifatida ishlatib bo'lmaydi.
Quyida dasturning joylashtirilgan qismidan chiqish uchun goto operatoridan foydalanishning foydali misollaridan biri keltirilgan.
namespace UzbekDevs
{
internal class Program
{
static void Main(string[] args)
{
int i = 0, j = 0, k = 0;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
for (k = 0; k < 10; k++)
{
Console.WriteLine("i, j, k: " + i + " " + j +" " + k);
if (k == 3) goto stop;
}
}
}
stop:
Console.WriteLine("To'xtatish! i, j, k: " + i + " , " + j + " " + k);
Console.ReadKey();
}
}
}
Dastur natijasi:
i, j, k: 0 0 0
i, j, k: 0 0 1
i, j, k: 0 0 2
i, j, k: 0 0 3
To'xtatish! i, j, k: 0 , 0, 3;
Agar goto operatori bo'lmaganida, dasturning ichki joylashtirilgan qismidan chiqish uchun yuqoridagi dasturda uchta if va break ko'rsatmalariga murojaat qilishi kerak edi. Bunday holda, goto iborasi kodni haqiqatan ham soddalashtiradi. Yuqoridagi misol faqat goto operatoridan foydalanishni ko'rsatish uchun bo'lsa-da, goto operatori aslida foydali bo'lishi mumkin bo'lgan holatlar mavjud.
Do'stlaringiz bilan baham: |