C# Durum İfadesi (Geliştiriciler İçin Nasıl Çalışır)
C#'ta switch ifadesi, birden fazla if-else bloğuna daha etkili ve anlaşılır bir alternatif sunar. Bir değişkenin birkaç farklı değer alabileceği ve bu değere bağlı olarak farklı kodlar yürütmeniz gerektiğinde faydalıdır. Switch ifadesi bir ifadeyi değerlendirir ve eşleşen değere bağlı olarak kodu yürütür, bu da karar verme sürecinde önemli bir rol oynar.
If-else yapıları basit koşullar veya kontroller için faydalı olsa da, switch case ifadeleri, özellikle tek bir değişken veya desen eşleştirme ifadesine dayanarak daha karmaşık koşul kontrolleri ile başa çıkmada öne çıkar. If ifadelerine kıyasen daha temiz ve anlaşılabilir bir sözdizimi sunarlar, bu da hem yazma hem de bakım açısından önemlidir.
Switch İfadesinin Temelleri
Switch İfadesi Nedir?
C#'ta switch ifadesi, yürütülecek birçok kod yolundan birini seçmek için kullanılan bir kontrol yapısıdır. Seçim bir değer veya ifade temelinde yapılır. Özellikle bir değişkenin birkaç farklı değeri olabileceği durumlarda birden fazla if-else koşulu kullanmaya etkin bir alternatiftir.
Sözdizimi
Switch ifadesinin temel sözdizimi basittir:
// Switch statement
switch (variable)
{
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
// More cases as needed
default:
// Code to execute if variable doesn't match any case
break;
}
// Switch statement
switch (variable)
{
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
// More cases as needed
default:
// Code to execute if variable doesn't match any case
break;
}
' Switch statement
Select Case variable
Case value1
' Code to execute if variable equals value1
Case value2
' Code to execute if variable equals value2
' More cases as needed
Case Else
' Code to execute if variable doesn't match any case
End Select
switch (variable): Bu, değerlendirilecek değişkeni veya ifadeyi belirtir.case value1: Bunlar, değişkeni kontrol ettiğiniz farklı değerler veya koşullardır.break: Eşleşen bir durum çalıştırıldığında switch bloğundan çıkmak için bu anahtar kelime kullanılır.defaultifadesi: Belirtilen durumların hiçbiri değişkenle eşleşmezse bu blok çalıştırılır.
Break İfadesini Anlamak
Switch ifadesindeki break ifadesi önemlidir. Eşleşen koşul zaten karşılandığında bile yürütmenin sonrasındaki duruma geçtiği 'düşme' davranışını önler. Her işlem bloğu genellikle sadece eşleşen durumun altındaki kodun yürütüldüğünden emin olmak için bir break ifadesi ile sona erer.
Switch İfadesi ve If-Else İfadelerinin Karşılaştırılması
If-else ifadesinin yapısı bir koşulu kontrol etmeyi ve koşul doğruysa bir kod bloğunu yürütmeyi içerirken, switch ifadeleri bir değişken veya ifadeyi birden fazla potansiyel değer ile karşılaştırır. Bu, çok sayıda koşul veya desen modeli kontrol etmeniz gerektiğinde switch ifadesini daha özlü ve okunabilir hale getirir.
Örnek: Bir Switch İfadesi Kullanma
int number = 3;
switch (number)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
default:
Console.WriteLine("Other Number"); // Print to console
break;
}
int number = 3;
switch (number)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
default:
Console.WriteLine("Other Number"); // Print to console
break;
}
Dim number As Integer = 3
Select Case number
Case 1
Console.WriteLine("One")
Case 2
Console.WriteLine("Two")
Case 3
Console.WriteLine("Three")
Case Else
Console.WriteLine("Other Number") ' Print to console
End Select
Bu örnekte, program çıktı olarak 'Üç' yazdıracak çünkü sayı 3 ile eşleşiyor.
Varsayılan Durumun Rolü
Bir Switch Bloğundaki Varsayılanı Anlamak
Switch ifadesinde, varsayılan durum önemli bir rol oynar. Belirtilen durum etiketlerinden hiçbiri switch ifadesinin değeriyle eşleşmediğinde yürütülen bir yakalama seçeneği olarak hizmet eder. İsteğe bağlı olmakla birlikte, beklenmedik veya bilinmeyen değerleri ele almak için varsayılan bir durumu dahil etmek iyi bir uygulamadır.
Varsayılan İfadesini Nasıl ve Ne Zaman Kullanmalıyız
Belirli durumların hiçbiriyle eşleşmezse bir kod bloğunun yürütülmesini istediğinizde varsayılan durum kullanılır. Girdi ne olursa olsun, switch ifadesinin her zaman tanımlı bir davranışa sahip olmasını sağlar. Varsayılan durum, ardından iki nokta üst üste gelen default anahtar kelimesi kullanılarak belirtilir.
default:
// Code to execute if no case matches
break;
default:
// Code to execute if no case matches
break;
Case Else
' Code to execute if no case matches
break
Varsayılan durum, switch bloğu içinde herhangi bir yerde yerleştirilebilir, ancak genellikle okunabilirlik için sona yerleştirilir.
Örnek: Varsayılan Durumlu Switch İfadesi
Haftanın bir gününü değerlendirdiğiniz bir senaryoyu düşünün:
int day = 5;
string dayName;
switch (day)
{
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
break;
}
Console.WriteLine(dayName);
int day = 5;
string dayName;
switch (day)
{
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
break;
}
Console.WriteLine(dayName);
Dim day As Integer = 5
Dim dayName As String
Select Case day
Case 1
dayName = "Monday"
Case 2
dayName = "Tuesday"
Case 3
dayName = "Wednesday"
Case 4
dayName = "Thursday"
Case 5
dayName = "Friday"
Case 6
dayName = "Saturday"
Case 7
dayName = "Sunday"
Case Else
dayName = "Invalid day"
End Select
Console.WriteLine(dayName)
Bu örnekte, eğer day değeri 1'den 7'ye başka bir değere sahipse, varsayılan durum çalıştırılır ve dayName 'Geçersiz gün' olarak ayarlanır.
Varsayılan Durum için En İyi Uygulamalar
- Her Zaman Varsayılanı Ekleyin: Tüm olası durumları kapsadığınıza inanıyor olsanız bile, öngörülmemiş değerleri ele almak için varsayılan bir durumu ekleyin.
- Anlamlı Eylemler: Varsayılan durumu hatayı kaydetmek, varsayılan bir değer ayarlamak veya kullanıcıyı bilinmeyen bir değer hakkında bilgilendirmek gibi anlamlı eylemleri gerçekleştirmek için kullanın.
Gelişmiş Switch Özellikleri
Introduction to Switch Expressions in C
C#'ın evrimiyle birlikte, birden fazla koşullu dalın daha özlü ve ifade edici bir şekilde ele alınması için switch ifadeleri tanıtıldı. Geleneksel switch ifadelerinden farklı olarak, switch ifadeleri bir değer döndürür ve daha akıcıdır, bu da modern C# programlamasında güçlü bir araç haline getirir.
Switch İfadelerinin Söz Dizimi
C#'da bir switch ifadesinin söz dizimi, switch case ifadesinin daha kompakt bir biçimidir. İşte basit bir yapı:
var result = variable switch
{
value1 => result1,
value2 => result2,
_ => defaultResult
};
var result = variable switch
{
value1 => result1,
value2 => result2,
_ => defaultResult
};
'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'var result = variable switch
'{
' value1 => result1,
' value2 => result2,
' _ => defaultResult
'};
Alt çizgi (_) sembolü, switch ifadelerinde varsayılan durumu temsil eder ve geleneksel switch ifadelerindeki varsayılan bloğa benzer şekilde işlev görür.
Örnek: Switch İfadesi Kullanımı
Bir sıcaklık okumasını sınıflandırmanız gereken bir senaryoyu düşünün:
int temperature = 25;
string weatherDescription = temperature switch
{
<= 0 => "Freezing",
< 20 => "Cold",
< 30 => "Mild",
_ => "Hot"
};
Console.WriteLine(weatherDescription);
int temperature = 25;
string weatherDescription = temperature switch
{
<= 0 => "Freezing",
< 20 => "Cold",
< 30 => "Mild",
_ => "Hot"
};
Console.WriteLine(weatherDescription);
Dim temperature As Integer = 25
'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'string weatherDescription = temperature switch
'{
' <= 0 => "Freezing",
' < 20 => "Cold",
' < 30 => "Mild",
' _ => "Hot"
'};
Console.WriteLine(weatherDescription)
Bu örnekte, switch ifadesi sıcaklığı kısa bir şekilde sınıflandırır, diğer durumlarla eşleşmeyen herhangi bir senaryoyu kapsayan varsayılan durum (_) ile.
Switch İfadeleri ile Desen Eşleştirme
C#'da switch ifadeleri, desen eşleştirmesine izin vererek onları daha da çok yönlü hale getirir. Türleri, değerleri veya hatta desenleri eşleştirebilirsiniz:
object obj = // some object;
string description = obj switch
{
int i => $"Integer: {i}",
string s => $"String: {s}",
_ => "Unknown type"
};
object obj = // some object;
string description = obj switch
{
int i => $"Integer: {i}",
string s => $"String: {s}",
_ => "Unknown type"
};
'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'object obj = string description = obj switch
'{
' int i => $"Integer: {i}",
' string s => $"String: {s}",
' _ => "Unknown type"
'};
C# Switch İfadesi vs. Switch Deyimi
- C# Switch İfadesi: Geleneksel olarak bir değişkenin değeri bazında farklı kod bloklarını yürütmek için kullanılır. Her durum için bir break ifadesi gerektirir.
- Switch İfadesi: C# 8.0'da tanıtılan, daha özlü bir söz dizimi sağlar ve genellikle bir koşul bazında bir değer döndürülmesi gerektiğinde kullanılır.
Integrating Switch Statements with IronPDF in C

IronPDF Özelliklerini Keşfedin, PDF belgeleri oluşturmak, düzenlemek ve onlarla çalışmak için .NET PDF kütüphanesidir. C# switch ifadeleri veya ifadeleri ile birleştirildiğinde, belirli koşullara dayalı çeşitli PDF ile ilgili işlemleri yönetmek için güçlü bir araç haline gelir. Bu entegrasyon, özellikle PDF içeriği veya meta verileri bazında karar verme gerektiren görevler için kullanışlıdır.
IronPDF'nin temel özelliği HTML'yi düzenler ve stiller ile PDF'ye dönüştürme olup, düzenler ve stiller bozulmadan kalır. Bu, web içeriğinden, raporlar, faturalar ve dokümantasyon dahil olmak üzere PDF'ler oluşturmak için idealdir. HTML dosyaları, URL'ler ve HTML dizgeleri hepsi PDF dosyalarına dönüştürülebilir.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Örnek: IronPDF ve Switch İfadeleri ile Koşullu Filigranlama
Belge içindeki sayfa sayısına göre bir PDF belgeniz olduğunu ve farklı filigranlar uygulamak istediğinizi düşünelim. IronPDF'i bir C# switch ifadesi ile birleştirerek bunu nasıl başarabileceğiniz aşağıda açıklanmıştır:
using IronPdf;
class Program
{
static void Main(string[] args)
{
IronPdf.License.LicenseKey = "Your-License-Code";
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Define different watermark HTML for each case
string watermarkHtmlOnePage = "<div style='color:red;'>One Page Document</div>";
string watermarkHtmlTwoPage = "<div style='color:blue;'>Two Page Document</div>";
switch (pdf.PageCount)
{
case 1:
// Apply watermark for one-page document
pdf.ApplyWatermark(watermarkHtmlOnePage);
break;
case 2:
// Apply watermark for two-page documents
pdf.ApplyWatermark(watermarkHtmlTwoPage);
break;
default:
// Apply a default watermark for other cases
pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>");
break;
}
// Save the watermarked PDF
pdf.SaveAs("watermarked.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
IronPdf.License.LicenseKey = "Your-License-Code";
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Define different watermark HTML for each case
string watermarkHtmlOnePage = "<div style='color:red;'>One Page Document</div>";
string watermarkHtmlTwoPage = "<div style='color:blue;'>Two Page Document</div>";
switch (pdf.PageCount)
{
case 1:
// Apply watermark for one-page document
pdf.ApplyWatermark(watermarkHtmlOnePage);
break;
case 2:
// Apply watermark for two-page documents
pdf.ApplyWatermark(watermarkHtmlTwoPage);
break;
default:
// Apply a default watermark for other cases
pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>");
break;
}
// Save the watermarked PDF
pdf.SaveAs("watermarked.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
IronPdf.License.LicenseKey = "Your-License-Code"
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Define different watermark HTML for each case
Dim watermarkHtmlOnePage As String = "<div style='color:red;'>One Page Document</div>"
Dim watermarkHtmlTwoPage As String = "<div style='color:blue;'>Two Page Document</div>"
Select Case pdf.PageCount
Case 1
' Apply watermark for one-page document
pdf.ApplyWatermark(watermarkHtmlOnePage)
Case 2
' Apply watermark for two-page documents
pdf.ApplyWatermark(watermarkHtmlTwoPage)
Case Else
' Apply a default watermark for other cases
pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>")
End Select
' Save the watermarked PDF
pdf.SaveAs("watermarked.pdf")
End Sub
End Class
İşte bir sayfalık çıktı PDF dosyası:

Sonuç
Bu eğitimde, programlamada temel bir karar alma biçimi olan C#'daki switch ifadesini inceledik. Temel yapısını anlayarak başladık ve geleneksel if-else ifadeleriyle karşılaştırarak, birden fazla koşulu ele alırken okuma kolaylığı ve sadelik avantajlarını vurguladık.
Basit switch durumları oluşturduk, varsayılan durumu ile çeşitli senaryoları ele aldık ve switch ifadeleri gibi gelişmiş özellikleri araştırdık. Switch ifadelerinin gerçek dünya uygulaması, dinamik PDF işlemeleri için IronPDF ile birleştirilmiş bir örnekle gösterilerek, switch ifadelerinin bir programcının araç setinde değerli bir araç olabileceği gösterildi.
IronPDF, özelliklerini ve işlevlerini keşfetmenize olanak tanıyan ücretsiz bir deneme sunar. IronPDF'nin tam araç setine erişim ve devam eden kullanım için, rekabetçi bir fiyatlandırma modeliyle başlayan lisanslar sunulmakta olup, C#'taki tüm PDF işleme ihtiyaçlarınız için kapsamlı bir çözüm sunar.
Sıkça Sorulan Sorular
PDF işleme yönetimini C#'da bir switch ifadesi kullanarak nasıl yapabilirim?
Bir switch ifadesi kullanarak, sayfa sayısı veya belge türü gibi koşullar baz alınarak farklı PDF işlemlerini yürüterek, IronPDF gibi bir kütüphane kullanarak PDF işlemesini yönetebilirsiniz.
C#'da bir switch ifadesi ile bir switch ifadesi arasındaki fark nedir?
Bir switch ifadesi, düşme efekti önlemek için break ifadelerini kullanarak birden fazla koşulu yönetmek için yapılandırılmış bir yol sunarken, bir switch ifadesi daha kısa, bir değer döndüren ve break ifadelerine gerek bırakmayan bir ifadedir.
C# switch ifadelerinde varsayılan durum neden önemlidir?
Varsayılan durum, hiçbir koşul ifadenin eşleşmediğinde geri dönüş hareketi sağlayarak beklenmeyen değerlerin zarifçe işlenmesini ve hataların önlenmesini sağladığı için önemlidir.
Switch ifadeleri C#'da kod okunabilirliğini nasıl artırır?
Switch ifadeleri, koşullu dallanma için kısa bir söz dizimi sağlayarak, geliştiricilerin mantığı daha kompakt bir formda ifade etmelerine olanak tanır, bu da kodun anlaşılmasını ve bakımını daha kolay hale getirir.
C# uygulamalarında hata yönetimi için switch ifadeleri kullanılabilir mi?
Evet, switch ifadeleri, hata kodlarına veya koşullara dayalı olarak programı belirli hata yönetim rutinlerine yönlendirerek C# uygulamalarının dayanıklılığını artırmak için kullanılabilir.
IronPDF ile bir switch ifadesi kullanmanın pratik bir örneği nedir?
Pratik bir örnek, sayfa sayısı veya diğer kriterlere dayalı olarak bir PDF belgesine farklı filigranlar uygulamak için bir switch ifadesi kullanarak, PDF manipulasyon görevleri için IronPDF'yi kullanmaktır.
IronPDF, switch tabanlı PDF işlemlerini nasıl kolaylaştırır?
IronPDF, dönüşüm, düzenleme ve PDF'lerin render edilmesi gibi görevler için switch ifadeleri kullanılarak koşullu olarak uygulanabilecek sağlam bir araç ve metod seti sunarak switch tabanlı PDF işlemlerini kolaylaştırır.
PDF işlemde switch ifadelerinin bazı yaygın kullanım örnekleri nelerdir?
Yaygın kullanım örnekleri arasında, belge türüne veya içeriğine göre belirli bir formatlama veya dönüşüm uygulanması gibi belge meta verilerine dayalı farklı işleme kurallarının uygulanması bulunur.
IronPDF, switch ifadeleri ile okunabilir ve bakımı kolay kod oluşturma konusunda nasıl yardımcı olabilir?
IronPDF, kapsamlı PDF manipülasyon yöntemleri sunarak, bunların switch ifadeleri ile organize edilmesi sonucunda, yapılandırılmış mantığı dolayısıyla hem okunabilir hem de bakımı kolay kodlar oluşturulmasına yardımcı olur.
Switch ifadeleri, karar verme aşamasında if-else bloklarına göre hangi avantajları sunar?
Switch ifadeleri, birden fazla ayrık koşulu ele almak için daha organize ve daha az hataya açık bir yapı sunarak, kodun daha net olmasını sağlar ve uzun if-else zincirlerine göre hata olasılığını azaltır.




