C# For Döngüsü (Geliştiriciler İçin Nasıl Çalışır)
Bu kapsamlı eğitimde, public static void Main yöntemi içinde for döngülerine başlamak için bilmeniz gereken her şeyi ele alacağız. For döngülerini, döngü değişkenlerini, döngü gövdelerini, iterasyon değişkenlerini, iç ve dış döngüleri, sonsuz döngüleri, boolean ifadelerini, iç içe döngüleri ve daha fazlasını keşfedeceğiz. Başlayalım!
For Döngüleriyle Başlangıç
Bir for döngüsü, tam olarak kaç kez yinelemek istediğinizi bildiğiniz durumlar için özel olarak tasarlanmış bir C# döngüsü türüdür. C# dilinde for döngüsünün söz dizimi aşağıdaki kod bloğunda gösterilmiştir:
for (initialization; condition; increment)
{
// Loop body
}
for (initialization; condition; increment)
{
// Loop body
}
initialization
Do While condition
' Loop body
increment
Loop
Bir for döngüsünün bileşenlerini ayıralım:
- Başlatma: Bu, döngü değişkeninin veya iterasyon değişkeninin tanımlandığı ve başlatıldığı yerdir.
- Koşul: Döngünün birden fazla kez ifade yürütmeye devam edip etmeyeceğini belirleyen bir boolean/koşullu ifadedir.
- Artış: Bu ifade, her yinelemeden sonra iterasyon değişkenini günceller.
Static Void Main ve Döngü Değişkenleri
C#'ta, static void Main metodu veya static void Main(String []args) uygulamanızın giriş noktasıdır. Bu, programınızın çalışmaya başladığı yerdir. Içinde static void Main metodu ile bir for döngüsü nasıl kullanacağınıza dair bir döngü örneği:
using System;
class Program
{
static void Main()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("This is the first for loop!");
}
}
}
using System;
class Program
{
static void Main()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("This is the first for loop!");
}
}
}
Imports System
Friend Class Program
Shared Sub Main()
For i As Integer = 0 To 4
Console.WriteLine("This is the first for loop!")
Next i
End Sub
End Class
Bu örnekte, döngü değişkeni int i 0 olarak başlatılır ve değişken olarak işlev görür. Döngü, i 5'dan küçük olduğu sürece çalışmaya devam edecektir. Her yinelemeden sonra, artırma işlemi i++ i değerini 1 artırır.
İç İçe Döngüleri Keşfetme
İç içe döngüler, diğer döngülerin içine yerleştirilen döngülerdir; bu, bir iç döngü ve bir dış döngü oluşturur ve yineleyen bölümlere sahiptir. Bunlar, matrisler gibi çok boyutlu veri yapılarıyla çalışırken veya her bir öğe kombinasyonunda belirli bir işlem yapmanız gerektiğinde faydalı olabilir.
İşte C#'ta bir dış döngü içine yerleştirilmiş bir iç döngüye sahip bir iç içe for döngüsü örneği:
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.WriteLine($"i: {i}, j: {j}");
}
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.WriteLine($"i: {i}, j: {j}");
}
}
For i As Integer = 0 To 2
For j As Integer = 0 To 1
Console.WriteLine($"i: {i}, j: {j}")
Next j
Next i
Bu örnekte, dış döngü çalışır ve i 0'a eşit başlar. İç döngü daha sonra j'nun tüm olası değerlerini geçirerek i'nun bir sonraki değerine geçer.
Sonsuz Döngüler ve Döngü Kontrolü
Bir sonsuz döngü, test koşulu asla yanlış hale gelmediği için asla sona ermeyen bir döngüdür. Bunlar tehlikeli olabilir çünkü programınızın süresiz olarak askıda kalmasına neden olabilirler. While döngüleri veya foreach döngüleri gibi döngüleri yazarken çıkış koşulunun sonunda sağlanacağından emin olun. Aşağıda, belirtilmiş bir koşulu olmayan bir sonsuz döngü örneği verilmiştir.
// This is an example of an infinite loop
for (int i = 0; ; i++)
{
Console.WriteLine("This loop will run forever!");
}
// This is an example of an infinite loop
for (int i = 0; ; i++)
{
Console.WriteLine("This loop will run forever!");
}
' This is an example of an infinite loop
Dim i As Integer = 0
Do
Console.WriteLine("This loop will run forever!")
i += 1
Loop
Standart for döngü yapısına ek olarak, C# break ve continue gibi döngü kontrol ifadeleri de sağlar, bu ifadeler döngülerinizi daha etkili yönetmenize yardımcı olabilir.
break: Bu ifade döngüden hemen çıkmak için kullanılır. Birbreakifadesi ile karşılaşıldığında döngü sona erer ve program döngü dışındaki bir sonraki kod satırı ile devam eder.continue: Bu ifade, döngü gövdesindeki kalan kodu geçmek ve döngünün bir sonraki yinelemesine atlamak için kullanılır.
break ve continue kullanımını bir for döngüsü içinde gösteren bir örnek:
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // Exits the loop when i is equal to 5
}
if (i % 2 == 0)
{
continue; // Skips even numbers
}
Console.WriteLine($"Odd number: {i}");
}
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // Exits the loop when i is equal to 5
}
if (i % 2 == 0)
{
continue; // Skips even numbers
}
Console.WriteLine($"Odd number: {i}");
}
For i As Integer = 0 To 9
If i = 5 Then
Exit For ' Exits the loop when i is equal to 5
End If
If i Mod 2 = 0 Then
Continue For ' Skips even numbers
End If
Console.WriteLine($"Odd number: {i}")
Next i
Bu örnekte, döngü i 5'a ulaştığında çalışmayı durdurur. continue ifadesi çift sayıları atlamaya yarar, bu yüzden sadece 5'dan küçük tek sayılar yazdırılacaktır.
Boolean İfadeler ve Döngü Koşulları
Döngü koşulu, döngünün çalışmaya devam edip etmeyeceğini belirleyen bir boolean ifadedir. Bu ifade her yinelemeden önce değerlendirilir ve döngü yalnızca ifade true ise çalışacaktır. Birçok döngüde yaygın olarak kullanılan boolean ifadeler şunlardır:
- Comparisons:
i < 10,i >= 10,i > 10,i == 10,i != 10 - Mantıksal operatörler:
&&(VE),||(OR),!(DEĞİL)
Daha karmaşık döngü koşulları oluşturmak için birkaç ifadeyi mantıksal operatörlerle birleştirebilirsiniz. Örneğin:
for (int i = 0; i < 10 && i != 5; i++)
{
Console.WriteLine(i);
}
for (int i = 0; i < 10 && i != 5; i++)
{
Console.WriteLine(i);
}
Dim i As Integer = 0
Do While i < 10 AndAlso i <> 5
Console.WriteLine(i)
i += 1
Loop
Bu örnekte, döngü i 10'den küçük ve 5'a eşit değil olduğu sürece çalışacaktır.
Kod Blokları ve Döngü Gövdeleri
Bir kod bloğu, kıvırcık parantezler {} ile çevrili ifade grubudur. Bir for döngüsünde, döngü bildirimini takip eden kod bloğuna döngü gövdesi adı verilir. Her döngü iterasyonunda yürütmek istediğiniz kodu buraya yerleştireceksiniz.
for (int i = 0; i < 5; i++)
{
// This is the loop body
Console.WriteLine($"Iteration: {i}");
}
for (int i = 0; i < 5; i++)
{
// This is the loop body
Console.WriteLine($"Iteration: {i}");
}
For i As Integer = 0 To 4
' This is the loop body
Console.WriteLine($"Iteration: {i}")
Next i
Bu örnekte, döngü gövdesi mevcut yineleme numarasını yazdıran tek bir Console.WriteLine ifadesinden oluşur.
Döngü Çalışma Adımları
For döngüsü kodunuzda karşılaştığınızı gördüğünüzde, aşağıdaki olaylar dizisi meydana gelir:
- Döngü değişkeni başlatılır.
- Boolean ifade değerlendirilir. Eğer ifade
falseise, döngü atlanır ve program döngü dışındaki bir sonraki kod satırına devam eder. - Eğer ifade
trueise, döngü gövdesi yürütülür. - Döngü değişkeni artırılır veya güncellenir.
- Boolean ifade
falseolana kadar adım 2-4 tekrar edilir.
For Döngüleriyle Raporlar Oluşturmak için IronPDF Entegrasyonu
IronPDF'nin PDF oluşturma yetenekleri hakkında bilgi edinin ve C#'ta dinamik ve sağlam PDF raporları oluşturun. Özellikle döngülerinizde işlenen verilere dayanarak dinamik raporlar veya belgeler oluşturmanız gerekiyorsa, for döngüleriyle çalışırken kullanışlı bir araç olabilir. Bu bölümde, IronPDF'yi C# for döngüleri ile birlikte kullanarak basit bir rapor oluşturmayı göstereceğiz.
Öncelikle, IronPDF NuGet paketini yüklemeniz gerekecek. Bunu Visual Studio'daki Paket Yöneticisi Konsolunu kullanarak yapabilirsiniz:
Install-Package IronPdf
IronPDF'yi yüklediğinizde, bir for döngüsü kullanarak sayıların ve onların karelerinden oluşan bir tablo içeren HTML'den PDF raporu oluşturma basit bir örnek oluşturalım.
Adım 1: Gerekli ad alanlarını ekleyin.
using IronPdf;
using System.IO;
using IronPdf;
using System.IO;
Imports IronPdf
Imports System.IO
Adım 2: GenerateReport adında yeni bir yöntem oluşturun.
static void GenerateReport()
{
// Create an HTML template for the report
var htmlTemplate = @"
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>";
// Generate the table rows using a for loop
string tableRows = "";
for (int i = 1; i <= 10; i++)
{
tableRows += $"<tr><td>{i}</td><td>{i * i}</td></tr>";
}
// Insert the generated table rows into the HTML template
string finalHtml = string.Format(htmlTemplate, tableRows);
// Create a new PDF document from the HTML using IronPdf
var pdf = new IronPdf.ChromePdfRenderer();
var document = pdf.RenderHtmlAsPdf(finalHtml);
// Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf");
}
static void GenerateReport()
{
// Create an HTML template for the report
var htmlTemplate = @"
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>";
// Generate the table rows using a for loop
string tableRows = "";
for (int i = 1; i <= 10; i++)
{
tableRows += $"<tr><td>{i}</td><td>{i * i}</td></tr>";
}
// Insert the generated table rows into the HTML template
string finalHtml = string.Format(htmlTemplate, tableRows);
// Create a new PDF document from the HTML using IronPdf
var pdf = new IronPdf.ChromePdfRenderer();
var document = pdf.RenderHtmlAsPdf(finalHtml);
// Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf");
}
Shared Sub GenerateReport()
' Create an HTML template for the report
Dim htmlTemplate = "
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>"
' Generate the table rows using a for loop
Dim tableRows As String = ""
For i As Integer = 1 To 10
tableRows &= $"<tr><td>{i}</td><td>{i * i}</td></tr>"
Next i
' Insert the generated table rows into the HTML template
Dim finalHtml As String = String.Format(htmlTemplate, tableRows)
' Create a new PDF document from the HTML using IronPdf
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim document = pdf.RenderHtmlAsPdf(finalHtml)
' Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf")
End Sub
Program.cs dosyanızdan GenerateReport yöntemini çağırın:
GenerateReport();
GenerateReport();
GenerateReport()

Bu örneği çalıştırdığınızda, uygulamanızın çıkış dizininde "NumberSquaresReport.pdf" adlı bir PDF raporu oluşturulacaktır. Rapor, 1'den 10'a kadar olan sayılar ve bunların karelerinden oluşan bir tablo içerecek ve bu tablo bir C# for döngüsü kullanılarak oluşturulmuştur.
Sonuç
Sonuç olarak, bu kapsamlı eğitim, C# for döngüleri ve bunlarla ilgili kavramlarda sağlam bir temel sağladı. Döngü değişkenlerini, döngü gövdelerini, iterasyon değişkenlerini, iç ve dış döngüleri, sonsuz döngüleri, boolean ifadelerini, kod bloklarını, iç içe döngüleri ve hatta IronPDF kütüphanesini entegre ederek for döngüleri kullanarak dinamik PDF raporları oluşturmayı gösterdik.
IronPDF yeteneklerini test etmeniz için size ücretsiz bir deneme sunuyoruz ve eğer faydalı bulursanız, lisanslama ihtiyaçlarınızı karşılamak için uygun seçeneklerden başlar.
Sıkça Sorulan Sorular
C#'da bir for döngüsü nasıl çalışır?
C#'da bir for döngüsü, belirtilen bir sayıda kez bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır. Başlatma, koşul ve artırma olmak üzere üç ana parçadan oluşur ve bu yapılar döngünün çalıştırılmasını kontrol eder.
C#'da 'static void Main' metodunun rolü nedir?
'static void Main' metodu, bir C# uygulamasının başlangıç noktası olarak hizmet eder. Programın çalışmasına burada başlanır ve genellikle çeşitli görevleri yerine getirmek için for döngüleri gibi başlangıç kodları içerir.
For döngülerini kullanarak C#'da PDF raporlarını nasıl oluşturabilirsiniz?
C#'da PDF raporları oluşturmak için IronPDF gibi bir kütüphane kullanabilirsiniz. Verileri işlemek ve bir tablo veya rapor haline getirmek için for döngüleri kullanılabilir, ardından bu veriler IronPDF kullanılarak PDF belgesi olarak render edilebilir.
İç içe döngüler nedir ve C#'da nasıl çalışırlar?
C#'da iç içe döngüler, diğer döngülerin içerisinde yer alan döngülerdir. Özellikle çok boyutlu veri yapılarıyla çalışırken faydalı olup, eleman kombinasyonları üzerinde işlemler yapmanıza olanak tanır.
C#'da sonsuz döngüleri nasıl önleyebilirsiniz?
Sonsuz döngüleri önlemek için, döngü koşulunuzun sonunda yanlış olacağından emin olun. 'break' gibi döngü kontrol ifadelerini kullanarak belirli bir koşul sağlandığında döngüden çıkabilirsiniz.
C# döngülerinde 'break' ve 'continue' ifadeleri ne için kullanılır?
C#'da 'break' ifadesi döngüden anında çıkmanızı sağlarken, 'continue' ifadesi mevcut tekrarı atlar ve döngünün bir sonraki tekrarıyla devam eder.
Boole ifadeleri bir for döngüsünde nasıl çalışır?
For döngülerinde boole ifadeleri, döngünün çalışmaya devam etmesi gerekip gerekmediğini belirler. Her yineleme öncesinde değerlendirilirler ve döngünün devam etmesi için doğru değer döndürmeleri gerekir.
For döngüleri ile birlikte kullanmak için bir C# kütüphanesini nasıl yüklersiniz?
Visual Studio'da Paket Yöneticisi Konsolu aracılığıyla uygun yükleme komutunu kullanarak bir C# kütüphanesi yükleyebilir, böylece bu kütüphanenin özelliklerinden for döngüleri içinde faydalanabilirsiniz.




