Jump Statements (goto)
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 20 / 66.
C#'ta goto deyimi, aynı metot içindeki etiketli bir deyime kontrolü doğrudan aktarmanın bir yolunu sağlar.
Kodunuzda bir etiket oluşturun:
start:O etikete atlamak için goto deyimini kullanın:
goto start;İşte goto kullanarak bir döngü oluşturan basit bir örnek:
int i = 0;
start:
if (i < 5)
{
Console.WriteLine(i);
i++;
goto start;
}Yukarıdaki kodu çalıştırdıktan sonra çıktı şu olacaktır:
0
1
2
3
4C#'da goto mevcut olsa da, genellikle kodun daha okunabilir ve bakımı kolay olması için yapılandırılmış kontrol akışı ifadeleri (if, for, while vb.) kullanılması tavsiye edilir.
Görev
KolayProcessCommands adında bir metot oluşturun, bu metot bir argüman alır:
- İşlenecek bir komut içeren bir string (
command).
Metot, goto ifadeleri kullanarak basit bir komut işlemcisi uygulamalıdır:
- Eğer komut "start" ise, "Starting process" yazdırın ve ardından "end" etiketine gidin
- Eğer komut "stop" ise, "Stopping process" yazdırın ve ardından "end" etiketine gidin
- Eğer komut "pause" ise, "Pausing process" yazdırın ve ardından "end" etiketine gidin
- Eğer komut başka bir şeyse, "Unknown command" yazdırın ve ardından "end" etiketine gidin
- "end" etiketinde, “Command processed” yazdırın
Kopya kağıdı
goto ifadesi, aynı metod içindeki etiketli bir ifadeye doğrudan kontrolü aktarır.
Etiket oluşturun:
start:goto kullanarak etikete atlayın:
goto start;Döngü oluşturmak için goto kullanan örnek:
int i = 0;
start:
if (i < 5)
{
Console.WriteLine(i);
i++;
goto start;
}C#'ta goto mevcut olsa da, daha iyi kod okunabilirliği ve bakımı için yapılandırılmış kontrol akışı ifadeleri (if, for, while vb.) genellikle önerilir.
Kendin dene
using System;
public class Program
{
public static void ProcessCommands(string command)
{
// Kodu buraya yazın
}
public static void Main(string[] args)
{
string command = Console.ReadLine();
ProcessCommands(command);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety