Altbilgi içeriğine atla
.NET YARDıM

C# For Döngüsü (Geliştiriciler İçin Nasıl Çalışır)

Bu kapsamlı öğreticide, public static void Main yöntemi içerisindeki döngülerle başlamanız için bilmeniz gereken her şeyi ele alacağız. For döngülerini, döngü değişkenlerini, döngü gövdelerini, yineleme değişkenlerini, iç ve dış döngüleri, sonsuz döngüleri, boole ifadelerini, iç içe döngüleri ve daha fazlasını keşfedeceğiz. Hadi başlayalım!

For Döngüleri ile Başlarken

Bir for döngüsü, tam olarak kaç kez yinelemek istediğinizi bildiğiniz durumlar için özel olarak tasarlanmış, C#'ta bir döngü türüdür. C#'ta bir 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
$vbLabelText   $csharpLabel

Bir for döngüsünün bileşenlerini inceleyelim:

  1. Başlatma: Bu, döngü değişkeninin veya yineleme değişkeninin tanımlandığı ve başlatıldığı yerdir.
  2. Koşul: Döngünün birden fazla kez çoklamalarını sürdürüp sürdürmeyeceğini belirleyen boolean/koşullu ifadeyi.
  3. Arttırma: Her yinelemeden sonra yineleme değişkenini güncelleyebilmek için kullanılan ifade.

Statik Void Main ve Döngü Değişkenleri

C#'ta static void Main yöntemi veya static void Main(String []args) uygulamanızın giriş noktasıdır. Bu, programınızın çalışmaya başladığı yerdir. İşte static void Main yöntemi içerisinde bir for döngüsünün nasıl kullanılacağına dair örnek bir döngü:

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
$vbLabelText   $csharpLabel

Bu örnekte, döngü değişkeni int i sıfıra ayarlanır ve değişken olarak görev yapar. Döngü, i, 5'dan daha az olduğu sürece yürütmeye devam edecektir. Her yinelemeden sonra, artırma işlemi i++, i'nin değerini 1 artırır.

İç İçe Geçmiş Döngüleri Keşfetmek

İç içe geçmiş döngüler, diğer döngülerin içine yerleştirilmiş döngüler olup, iç döngü ve dış döngü ile yineleyici kısımlarını oluşturur. Bunlar matrisler gibi çok boyutlu veri yapılarıyla çalışırken veya her ikisinin kombinasyonundaki öğelerde belirli bir işlemi gerçekleştirmeniz gerektiğinde yararlı olabilir.

İşte, C#'da bir dış döngü içinde bir iç döngüyle birlikte bir iç içe geçmiş döngü ö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
$vbLabelText   $csharpLabel

Bu örnekte, dış döngü çalıştırılır ve i sıfıra eşit olduğunda başlar. İç döngü daha sonra i 'ın bir sonraki değeri geçmeden önce j'in tüm olası değerlerini iterasyon yapar.

Sonsuz Döngüler ve Döngü Kontrolü

Bir sonsuz döngü, test koşulu hiçbir zaman yanlış olmadığından dolayı hiçbir zaman sona ermeyen bir döngüdür. Bunlar tehlikeli olabilir, çünkü programınızın belirsiz bir süre askıda kalmasına neden olabilirler. Çıkış koşulunun sonunda karşılanacağından emin olmak için while döngüleri veya foreach döngüleri gibi döngüler yazarken dikkatli olun. İşte C#'da belirli bir koşul belirtilmemiş bir sonsuz döngü örneği.

// 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
$vbLabelText   $csharpLabel

Standart for döngüsü yapısına ek olarak, C# ayrıca break ve continue gibi döngü kontrol ifadeleri sağlar, bu da döngülerinizi daha etkili bir şekilde yönetmenize yardımcı olabilir.

  • break: Bu açıklama döngüden hemen çıkmak için kullanılır. Bir break ifadesi ile karşılaşıldığında, döngü sonlanır ve program döngü dışındaki bir sonraki kod satırı ile devam eder.
  • continue: Bu ifade, döngü gövdesindeki kalan kodu atlamak ve döngünün bir sonraki yinelemesine geçmek için kullanılır.

İşte bir for döngüsünde break ve continue kullanımını 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
$vbLabelText   $csharpLabel

Bu örnekte, i, 5 ulaştığında döngü çalışmayı durdurur. continue ifadesi, çift sayıları atlamak için kullanılır, dolayısıyla sadece 5'den 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ü sadece ifade true ise çalışır. Pek çok döngüde yaygın olarak kullanılan boolean ifadeleri şunları içerir:

  • Karşılaştırmalar: 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 mantıksal operatörleri kullanarak birden fazla ifadeyi 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
$vbLabelText   $csharpLabel

Bu örnekte, döngü i 10'dan küçük olduğu ve 5'e eşit olmadığı sürece çalışacaktır.

Kod Blokları ve Döngü Gövdeleri

Bir kod bloğu, süslü parantezler {} içinde kaplanmış bir grup ifadeden oluşur. Bir for döngüsünde, döngü açıklamasından sonra gelen kod bloğuna döngü gövdesi denir. Döngünün her yinelemesinde 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
$vbLabelText   $csharpLabel

Bu örnekte, döngü gövdesi mevcut yineleme numarasını yazdıran tek bir Console.WriteLine ifadesinden oluşur.

Döngü Yürütme Adımları

Kodunuzda bir for döngüsüyle karşılaştığınızda, aşağıdaki olaylar dizisi gerçekleşir:

  1. Döngü değişkeni başlatılır.
  2. Boolean ifadesi değerlendirilir. Eğer ifade false ise, döngü atlanır ve program dışarıdaki bir sonraki kod satırı ile devam eder.
  3. Eğer ifade true ise, döngü gövdesi yürütülür.
  4. Döngü değişkeni artırılır veya güncellenir.
  5. Adım 2-4, boolean ifade false olana kadar tekrarlanır.

For Döngüleri ile Raporlar Oluşturmak için IronPDF Entegrasyonu

IronPDF'in PDF oluşturma yetenekleri hakkında bilgi edinin ve C# ile dinamik ve sağlam PDF raporları oluşturun. Özellikle döngülerinizde işlediğiniz verilere dayanarak dinamik raporlar veya dokümanlar oluşturmanız gerekiyorsa, for döngüleriyle çalışırken yararlı bir araç olabilir. Bu bölümde, C# for döngüleriyle birlikte IronPDF kullanarak basit bir rapor oluşturmayı göstereceğiz.

Öncelikle, IronPDF NuGet paketini yüklemeniz gerekecek. Bunu Visual Studio'da Paket Yöneticisi Konsolu kullanarak yapabilirsiniz:

Install-Package IronPdf

IronPDF'i yükledikten sonra, bir for döngüsü kullanarak bir sayıların ve karelerinin tablosunu içeren IronPDF kullanarak HTML'den PDF raporu oluşturan 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Program.cs dosyanızdan GenerateReport metodunu çağırın:

GenerateReport();
GenerateReport();
GenerateReport()
$vbLabelText   $csharpLabel

 IronPDF' den Sayı Kareleri Raporu

Bu örneği çalıştırdığınızda, uygulamanızın çıkış dizininde 'NumberSquaresReport.pdf' adlı bir PDF raporu oluşturulacak. Rapor, C# for döngüsü kullanılarak 1'den 10'a kadar olan sayıların ve karelerinin bir tablosunu içerecektir.

Sonuç

Sonuç olarak, bu kapsamlı eğitim size C# for döngüleri ve ilgili kavramları konusunda sağlam bir temel sağladı. Döngü değişkenleri, döngü gövdeleri, iterasyon değişkenleri, iç ve dış döngüler, sonsuz döngüler, boolean ifadeleri, kod blokları, iç içe döngüler ve hatta güçlü IronPDF kütüphanesini for döngüleri kullanarak dinamik PDF raporları oluşturmak için nasıl entegre edeceğimizi gösterdik.

IronPDF, yeteneklerini test etmeniz için IronPDF'in ücretsiz denemesini sunar ve kullanışlı bulursanız lisanslama ihtiyaçlarınıza uygun uygun seçeneklerden başlayarak sunulur.

Sıkça Sorulan Sorular

C# içinde bir for döngüsü nasıl çalışır?

C#'da bir for döngüsü, belirli sayıda tekrar için bir kod bloğunu tekrar etmek için kullanılır. Üç ana bölümden oluşur: başlatma, koşul ve artış, bunlar döngünün yürütülmesini kontrol eder.

C# içindeki 'static void Main' yönteminin rolü nedir?

'Static void Main' yöntemi, bir C# uygulamasının giriş noktası olarak hizmet verir. Genellikle, programın başlatılacağı yer burasıdır ve çeşitli görevleri gerçekleştirmek için döngüler gibi ilk kodlar içerir.

C# içinde for döngüleri kullanarak PDF raporları nasıl oluşturabilirsiniz?

C# içerisinde PDF raporları oluşturmak için IronPDF gibi bir kütüphane kullanabilirsiniz. For döngüleri, verileri işlemek ve bir tablo veya rapor haline getirmek için kullanılabilir ve ardından bu rapor, IronPDF kullanılarak bir PDF belgesi olarak oluşturulabilir.

İç içe döngüler nelerdir ve C#'da nasıl çalışır?

C#'da iç içe döngüler, başka döngülerin içine yerleştirilmiş döngülerdir. Özellikle çok boyutlu veri yapılarında yararlıdırlar, çünkü eleman kombinasyonlarında 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ünüzün koşulunun nihayetinde yanlış olmasını sağlayın. Belirli bir koşul karşılandığında döngüden çıkmak için 'break' gibi döngü kontrol ifadelerini kullanın.

C# döngülerinde 'break' ve 'continue' ifadeleri ne için kullanılır?

C#'da, 'break' ifadesi bir döngüden hemen çıkmak için kullanılırken, 'continue' ifadesi mevcut yinelemeyi atlayıp döngünün bir sonraki yinelemesine geçmek için kullanılır.

Bir for döngüsünde boolean ifadeleri nasıl çalışır?

For döngülerinde boolean ifadeleri, döngünün devam edip etmeyeceğini belirler. Her yinelemeden önce değerlendirilirler ve döngünün devam etmesi için doğru değer döndürmeleri gerekir.

Bir C# kütüphanesini for döngüleri ile birlikte kullanmak için nasıl yüklerim?

Visual Studio'da Paket Yöneticisi Konsolu aracılığıyla uygun yükleme komutunu kullanarak bir C# kütüphanesi yükleyebilir, böylece özelliklerini for döngüleri içinde kullanabilirsiniz.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara