Break and Continue
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 21 / 66.
C#'ta, break ve continue ifadeleri döngü yürütülmesi üzerinde size daha fazla kontrol sağlar.
break ifadesi
break ifadesi bir döngüyü hemen terk eder:
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break; // Döngüyü i 5'e eşit olduğunda terk et
}
Console.WriteLine(i);
}Yukarıdaki kodu çalıştırdıktan sonra, çıktı şu olacaktır:
1
2
3
4Döngü, i 5'e eşit olur olmaz durur ve yürütme, döngüden sonraki kodla devam eder.
continue deyimi
continue deyimi, mevcut yinelemenin kalan kısmını atlar ve bir sonraki yinelemeye atlar:
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue; // Bu yinelemenin kalan kısmını atla
}
Console.WriteLine(i);
}Yukarıdaki kodu çalıştırdıktan sonra, çıktı şu olacaktır:
1
2
4
53 değeri yazdırılmıyor çünkü continue deyimi o yineleme için Console.WriteLine(i)'yi atlar.
Görev
KolayAdlı bir metot yazın ProcessNumbers tamsayı dizisi parametre olarak alan. Metot şu işlemleri yapmalı:
- Dizideki tüm sayıları yazdırın
- Negatif sayıları yazdırmayı atlayın (
continuekullanın) - 100'den büyük bir sayı ile karşılaşırsa işlemeyi durdurun (
breakkullanın) - Yazdırılan tüm sayıların toplamını döndürün
Kopya kağıdı
break ifadesi bir döngüyü hemen terk eder:
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break; // Döngüyü i 5'e eşit olduğunda terk et
}
Console.WriteLine(i);
}continue ifadesi mevcut yinelemenin kalanını atlar ve bir sonraki yinelemeye atlar:
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue; // Bu yinelemenin kalanını atla
}
Console.WriteLine(i);
}Kendin dene
using System;
public class Program
{
public static int ProcessNumbers(int[] numbers)
{
// Kodunuzu buraya yazın
return 0;
}
public static void Main(string[] args)
{
// Hemen test için örnek bir dizi oluşturun
int[] numbers = { 5, -3, 10, 15, -7, 105, 20 };
int sum = ProcessNumbers(numbers);
Console.WriteLine("Sum: " + sum);
// Sağlanırsa kullanıcı girdisiyle de deneyin
try
{
string input = Console.ReadLine();
if (!string.IsNullOrEmpty(input))
{
string[] parts = input.Split(',');
int[] inputNumbers = new int[parts.Length];
for (int i = 0; i < parts.Length; i++)
{
inputNumbers[i] = int.Parse(parts[i].Trim());
}
int inputSum = ProcessNumbers(inputNumbers);
Console.WriteLine("Input Sum: " + inputSum);
}
}
catch (Exception)
{
// Girdi ile bir hata varsa, sadece örnek sonuçla devam edin
}
}
}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