<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>darklaz, Keşif Ruhu sitesinin yazarı</title>
	<atom:link href="https://www.kesifruhu.com/author/darklaz/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/author/darklaz/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Wed, 14 May 2025 13:51:06 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.kesifruhu.com/wp-content/uploads/2024/09/siteico-150x150.png</url>
	<title>darklaz, Keşif Ruhu sitesinin yazarı</title>
	<link>https://www.kesifruhu.com/author/darklaz/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>15. Olaylar ve Delegeler</title>
		<link>https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/</link>
					<comments>https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Wed, 14 May 2025 13:49:44 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[delegeler]]></category>
		<category><![CDATA[eventler]]></category>
		<category><![CDATA[olaylar]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=605</guid>

					<description><![CDATA[<p>C# Programlama Dili: 15.Olaylar ve Delegeler C# programlama dilinde olaylar (events) ve delegeler (delegates), nesne yönelimli programlamanın temel taşlarından biridir. Bu yapılar, bir nesnenin durumundaki <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/" title="15. Olaylar ve Delegeler">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/">15. Olaylar ve Delegeler</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<p><br><br><br><br><br></p>



<h1 class="wp-block-heading">C# Programlama Dili: 15.Olaylar ve Delegeler</h1>



<p>C# programlama dilinde olaylar (events) ve delegeler (delegates), nesne yönelimli programlamanın temel taşlarından biridir. Bu yapılar, bir nesnenin durumundaki değişiklikleri diğer nesnelere bildirmesini sağlayarak, gevşek bağlı (loosely coupled) sistemlerin oluşturulmasına olanak tanır. Bu makalede, C# dilindeki olaylar ve delegeleri detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Delegeler (Delegates)</h2>



<p>Delegeler, fonksiyon işaretçilerine benzer ve metotları değişkenler gibi kullanmamızı sağlayan yapılardır. Bir delege, belirli bir imza (signature) ile tanımlanır ve aynı imzaya sahip herhangi bir metodu referans edebilir. Bu, delegelerin, metotları parametre olarak geçirmemize, metotları bir koleksiyonda saklamamıza veya çalışma zamanında hangi metodun çağrılacağını belirlememize olanak tanır.</p>



<h3 class="wp-block-heading">Delege Tanımlama</h3>



<p>Bir delege tanımlamak için <code>delegate</code> anahtar kelimesi kullanılır. Delege tanımı, referans edeceği metodun dönüş tipini ve parametre listesini belirtir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
 // Basit bir delege tanımı
 public delegate void MesajYaz(string mesaj);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #6A9955"> // Basit bir delege tanımı</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">delegate</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>MesajYaz</code> adında bir delege tanımlanmıştır. Bu delege, <code>string</code> türünde bir parametre alan ve <code>void</code> (geri dönüş değeri olmayan) bir metodu referans edebilir.</p>



<h3 class="wp-block-heading">Delege Örneği</h3>



<p>Aşağıdaki örnek, bir delegenin nasıl kullanılacağını göstermektedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
 using System;

 public class Program
 {
   public delegate void MesajYaz(string mesaj);

   public static void SelamVer(string mesaj)
   {
     Console.WriteLine(&quot;Selam: &quot; + mesaj);
   }

   public static void GuleGule(string mesaj)
   {
     Console.WriteLine(&quot;Güle Güle: &quot; + mesaj);
   }

   public static void Main(string[] args)
   {
     MesajYaz delege1 = new MesajYaz(SelamVer);
     MesajYaz delege2 = new MesajYaz(GuleGule);
  
     delege1(&quot;Dünya&quot;); // Output: Selam: Dünya
     delege2(&quot;Yine Bekleriz&quot;); // Output: Güle Güle: Yine Bekleriz
  
     // Çoklu delege (Multicast Delegate)
     MesajYaz cokluDelege = delege1 + delege2;
     cokluDelege(&quot;Herkese&quot;);
     // Output:
     // Selam: Herkese
     // Güle Güle: Herkese
   }
 }
  " style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Program</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">delegate</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">SelamVer</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Selam: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">GuleGule</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Güle Güle: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">delege1</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">SelamVer</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">delege2</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">GuleGule</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #DCDCAA">delege1</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dünya&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Output: Selam: Dünya</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #DCDCAA">delege2</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Yine Bekleriz&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Output: Güle Güle: Yine Bekleriz</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #6A9955">     // Çoklu delege (Multicast Delegate)</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #4EC9B0">MesajYaz</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">cokluDelege</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">delege1</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">delege2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #DCDCAA">cokluDelege</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Herkese&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #6A9955">     // Output:</span></span>
<span class="line"><span style="color: #6A9955">     // Selam: Herkese</span></span>
<span class="line"><span style="color: #6A9955">     // Güle Güle: Herkese</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>SelamVer</code> ve <code>GuleGule</code> adlı iki metot tanımlanmıştır. Her iki metot da <code>MesajYaz</code> delege türüyle uyumludur. <code>Main</code> metodunda, bu metotlar delegelere atanır ve delegeler aracılığıyla çağrılır. Ayrıca, iki delege birleştirilerek çoklu bir delege (multicast delegate) oluşturulur ve bu delege çağrıldığında her iki metot da çalıştırılır.</p>



<h2 class="wp-block-heading">Olaylar (Events)</h2>



<p>Olaylar, bir sınıfın veya nesnenin, durumundaki bir değişiklik hakkında diğer sınıfları veya nesneleri bilgilendirmesini sağlayan mekanizmalardır. Olaylar, delegeleri temel alır ve yayıncı (publisher) ile abone (subscriber) arasında bir iletişim kurar. Yayıncı, olayı tetiklerken, aboneler bu olayı dinler ve olay gerçekleştiğinde belirlenen metotları çalıştırır.</p>



<h3 class="wp-block-heading">Olay Tanımlama</h3>



<p>Bir olay tanımlamak için <code>event</code> anahtar kelimesi kullanılır. Olay tanımı, bir delege türü belirtir ve bu delege türü, olayın tetiklendiğinde çağrılacak metotların imzasını tanımlar.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
 public delegate void VeriDegistiEventHandler(object sender, EventArgs e);

 public class VeriKaynagi
 {
   public event VeriDegistiEventHandler VeriDegisti;

   protected virtual void OnVeriDegisti(EventArgs e)
   {
     VeriDegisti?.Invoke(this, e);
   }

   public void VeriyiDegistir()
   {
     // Veriyi değiştir
     OnVeriDegisti(EventArgs.Empty);
   }
 }
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">delegate</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDegistiEventHandler</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sender</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">EventArgs</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriKaynagi</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">event</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDegistiEventHandler</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">VeriDegisti</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">protected</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">virtual</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">OnVeriDegisti</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">EventArgs</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">VeriDegisti</span><span style="color: #D4D4D4">?.</span><span style="color: #DCDCAA">Invoke</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">VeriyiDegistir</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #6A9955">     // Veriyi değiştir</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #DCDCAA">OnVeriDegisti</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">EventArgs</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Empty</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>VeriDegistiEventHandler</code> adında bir delege tanımlanmıştır. Bu delege, <code>object</code> türünde bir <code>sender</code> (olayı başlatan nesne) ve <code>EventArgs</code> türünde bir <code>e</code> (olay argümanları) parametresi alır. <code>VeriKaynagi</code> sınıfında, <code>VeriDegisti</code> adında bir olay tanımlanmıştır ve bu olay, <code>VeriDegistiEventHandler</code> delege türünü kullanır. <code>OnVeriDegisti</code> metodu, olayı tetiklemek için kullanılır. <code>VeriDegistir</code> metodu, veriyi değiştirdikten sonra <code>OnVeriDegisti</code> metodunu çağırarak olayı tetikler.</p>



<h3 class="wp-block-heading">Olay Aboneliği</h3>



<p>Bir olaya abone olmak için, <code>+=</code> operatörü kullanılır. Bu operatör, bir metodu olayın olay işleyicisine ekler. Olay tetiklendiğinde, bu metot otomatik olarak çağrılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
 using System;

 public class Program
 {
   public delegate void VeriDegistiEventHandler(object sender, EventArgs e);
  
   public class VeriKaynagi
   {
     public event VeriDegistiEventHandler VeriDegisti;
  
     protected virtual void OnVeriDegisti(EventArgs e)
     {
       VeriDegisti?.Invoke(this, e);
     }
  
     public void VeriyiDegistir()
     {
     // Veriyi değiştir
       OnVeriDegisti(EventArgs.Empty);
     }
   }
  
   public class VeriDinleyici
   {
     public void VeriDegistiHandler(object sender, EventArgs e)
     {
       Console.WriteLine(&quot;Veri değişti!&quot;);
     }  
   }
  
   public static void Main(string[] args)
   {
     VeriKaynagi kaynak = new VeriKaynagi();
     VeriDinleyici dinleyici = new VeriDinleyici();
    
     kaynak.VeriDegisti += dinleyici.VeriDegistiHandler;
    
     kaynak.VeriyiDegistir(); // Output: Veri değişti!
   }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Program</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">delegate</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDegistiEventHandler</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sender</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">EventArgs</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriKaynagi</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">event</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDegistiEventHandler</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">VeriDegisti</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #569CD6">protected</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">virtual</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">OnVeriDegisti</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">EventArgs</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">VeriDegisti</span><span style="color: #D4D4D4">?.</span><span style="color: #DCDCAA">Invoke</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">VeriyiDegistir</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #6A9955">     // Veriyi değiştir</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #DCDCAA">OnVeriDegisti</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">EventArgs</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Empty</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     }</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDinleyici</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">VeriDegistiHandler</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sender</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">EventArgs</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Veri değişti!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     }  </span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #4EC9B0">VeriKaynagi</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kaynak</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriKaynagi</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #4EC9B0">VeriDinleyici</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dinleyici</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">VeriDinleyici</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">kaynak</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">VeriDegisti</span><span style="color: #D4D4D4"> += </span><span style="color: #9CDCFE">dinleyici</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">VeriDegistiHandler</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">kaynak</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">VeriyiDegistir</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// Output: Veri değişti!</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>VeriDinleyici</code> sınıfında <code>VeriDegistiHandler</code> adında bir metot tanımlanmıştır. Bu metot, <code>VeriDegistiEventHandler</code> delege türüyle uyumludur. <code>Main</code> metodunda, <code>VeriKaynagi</code> ve <code>VeriDinleyici</code> nesneleri oluşturulur. <code>VeriDegistiHandler</code> metodu, <code>VeriKaynagi</code> nesnesinin <code>VeriDegisti</code> olayına abone olur. <code>VeriKaynagi.VeriyiDegistir()</code> çağrıldığında, <code>VeriDegisti</code> olayı tetiklenir ve <code>VeriDinleyici.VeriDegistiHandler()</code> metodu otomatik olarak çalışır.</p>



<h3 class="wp-block-heading">Neden Olaylar?</h3>



<p>Olaylar, delegelerin daha kontrollü bir şekilde kullanılmasını sağlar. Olaylar, dış sınıfların bir delegenin içeriğini değiştirmesini engeller. Bir olay sadece tanımlandığı sınıf içinde tetiklenebilir. Bu, olayların daha güvenli ve öngörülebilir olmasını sağlar.</p>



<h2 class="wp-block-heading">Delegeler ve Olayların Kullanım Alanları</h2>



<ul class="wp-block-list">
<li><strong>GUI Uygulamaları:</strong> Buton tıklamaları, menü seçimleri gibi kullanıcı etkileşimlerini yönetmek için kullanılır.</li>



<li><strong>Asenkron Programlama:</strong> Bir işlemin tamamlandığını bildirmek için kullanılır.</li>



<li><strong>Observer Pattern:</strong> Bir nesnenin durumundaki değişiklikleri diğer nesnelere bildirmek için kullanılır.</li>



<li><strong>Middleware:</strong> Uygulama bileşenleri arasında iletişim kurmak için kullanılır.</li>
</ul>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Olaylar ve delegeler, C# programlama dilinin güçlü ve esnek özelliklerindendir. Bu yapılar, gevşek bağlı sistemlerin oluşturulmasına, kodun yeniden kullanılabilirliğinin artırılmasına ve uygulamanın genel tasarımının iyileştirilmesine yardımcı olur. Olaylar ve delegeleri doğru bir şekilde kullanarak, daha modüler, test edilebilir ve sürdürülebilir uygulamalar geliştirebilirsiniz.</p>



<p>&nbsp;</p>
<p><a href="https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/">15. Olaylar ve Delegeler</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/15-olaylar-ve-delegeler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>14. Sınıf ve Nesne Kavramı (OOP Temelleri)</title>
		<link>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/</link>
					<comments>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 13 May 2025 13:43:30 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Sınıf]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=603</guid>

					<description><![CDATA[<p>14. Sınıf ve Nesne Kavramı (OOP Temelleri) C# programlama dilinin en temel ve güçlü özelliklerinden biri, Nesne Yönelimli Programlama (OOP) paradigmasıdır. OOP, yazılım geliştirme sürecini <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/" title="14. Sınıf ve Nesne Kavramı (OOP Temelleri)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/25626437/pexels-photo-25626437.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</h1>



<p>C# programlama dilinin en temel ve güçlü özelliklerinden biri, <strong>Nesne Yönelimli Programlama (OOP)</strong> paradigmasıdır. OOP, yazılım geliştirme sürecini daha düzenli, modüler ve yeniden kullanılabilir hale getirmeyi amaçlar. Bu yaklaşımın merkezinde ise <em>sınıf</em> ve <em>nesne</em> kavramları yer alır. Bu yazıda, C# dilinde sınıf ve nesne kavramlarını detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Sınıf (Class) Nedir?</h2>



<p>Sınıf, bir nesnenin şablonu veya planıdır. Başka bir deyişle, bir nesnenin hangi özelliklere (alanlar veya değişkenler) ve davranışlara (metotlar) sahip olacağını tanımlar. Sınıf, gerçek dünyadaki nesnelerin veya kavramların soyut bir temsilidir.</p>



<p>C# dilinde bir sınıf tanımlamak için `class` anahtar kelimesi kullanılır. Sınıfın içinde, o sınıfa ait alanlar (fields) ve metotlar (methods) tanımlanır.</p>



<h3 class="wp-block-heading">Sınıf Tanımlama Sözdizimi</h3>



<p>Bir sınıfın temel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
class SinifAdi
{
    // Alanlar (Fields)
    // Metotlar (Methods)
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">SinifAdi</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Alanlar (Fields)</span></span>
<span class="line"><span style="color: #6A9955">    // Metotlar (Methods)</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p><strong>Örnek:</strong></p>



<p>Bir `Araba` sınıfı tanımlayalım. Bu sınıfın `Marka`, `Model`, `Renk` gibi alanları ve `Hizlan`, `Yavasla` gibi metotları olsun.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
class Araba
{
    public string Marka;
    public string Model;
    public string Renk;

    public void Hizlan()
    {
        Console.WriteLine(&quot;Araba hızlanıyor!&quot;);
    }

    public void Yavasla()
    {
        Console.WriteLine(&quot;Araba yavaşlıyor!&quot;);
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Araba</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Model</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Renk</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Hizlan</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Araba hızlanıyor!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Yavasla</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Araba yavaşlıyor!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, `Araba` sınıfının temel özelliklerini ve davranışlarını tanımladık. Ancak, bu sınıf henüz somut bir araba değildir. Somut bir araba yaratmak için, bu sınıftan bir nesne (instance) oluşturmamız gerekir.</p>



<h2 class="wp-block-heading">Nesne (Object) Nedir?</h2>



<p>Nesne, bir sınıfın somut bir örneğidir. Sınıf bir plan veya şablon iken, nesne bu planın hayata geçirilmiş halidir. Bir sınıftan birden fazla nesne oluşturulabilir. Her nesne, sınıfın tanımladığı özelliklere ve davranışlara sahiptir, ancak her nesnenin özellikleri farklı değerlere sahip olabilir.</p>



<h3 class="wp-block-heading">Nesne Oluşturma</h3>



<p>C# dilinde bir nesne oluşturmak için `new` anahtar kelimesi kullanılır. `new` anahtar kelimesi, bellekte nesne için yer ayırır ve sınıfın kurucu metodunu (constructor) çağırır.</p>



<p><strong>Örnek:</strong></p>



<p>`Araba` sınıfından bir nesne oluşturalım:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
Araba benimArabam = new Araba();
benimArabam.Marka = &quot;Mercedes&quot;;
benimArabam.Model = &quot;C180&quot;;
benimArabam.Renk = &quot;Beyaz&quot;;

Console.WriteLine(&quot;Arabanın markası: &quot; + benimArabam.Marka);
benimArabam.Hizlan();
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Araba</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Araba</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Mercedes&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Model</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;C180&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Renk</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Beyaz&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Arabanın markası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Hizlan</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, `benimArabam` adında bir `Araba` nesnesi oluşturduk ve bu nesnenin `Marka`, `Model` ve `Renk` özelliklerine değerler atadık. Ardından, nesnenin `Hizlan` metodunu çağırdık.</p>



<h2 class="wp-block-heading">OOP&#8217;nin Temel Prensipleri</h2>



<p>Sınıf ve nesne kavramları, Nesne Yönelimli Programlama&#8217;nın temelini oluşturur. OOP&#8217;nin diğer önemli prensipleri şunlardır:</p>



<ul class="wp-block-list">
<li><strong>Kapsülleme (Encapsulation):</strong> Verileri ve metotları bir arada tutarak, verilerin dışarıdan doğrudan erişilmesini engeller. Bu, veri güvenliğini artırır ve kodun daha modüler olmasını sağlar.</li>



<li><strong>Miras (Inheritance):</strong> Bir sınıfın (alt sınıf veya türetilmiş sınıf) başka bir sınıftan (üst sınıf veya temel sınıf) özelliklerini ve davranışlarını devralmasını sağlar. Bu, kodun yeniden kullanılabilirliğini artırır ve hiyerarşik bir yapı oluşturmayı kolaylaştırır.</li>



<li><strong>Çok Biçimlilik (Polymorphism):</strong> Bir nesnenin farklı şekillerde davranabilmesini sağlar. Bu, kodun daha esnek ve genişletilebilir olmasını sağlar.</li>



<li><strong>Soyutlama (Abstraction):</strong> Karmaşık sistemlerin temel özelliklerini ortaya çıkararak, gereksiz detayları gizler. Bu, kodun daha anlaşılır ve yönetilebilir olmasını sağlar.</li>
</ul>



<h2 class="wp-block-heading">Sınıf ve Nesne Kullanımının Avantajları</h2>



<p>C# dilinde sınıf ve nesne kavramlarını kullanarak program yazmanın birçok avantajı vardır:</p>



<ul class="wp-block-list">
<li><strong>Modülerlik:</strong> Kodun daha küçük ve yönetilebilir parçalara ayrılmasını sağlar.</li>



<li><strong>Yeniden Kullanılabilirlik:</strong> Sınıflar ve nesneler, farklı projelerde tekrar tekrar kullanılabilir.</li>



<li><strong>Bakım Kolaylığı:</strong> Kodun daha düzenli ve anlaşılır olmasını sağlar, bu da hataları bulmayı ve düzeltmeyi kolaylaştırır.</li>



<li><strong>Genişletilebilirlik:</strong> Yeni özellikler eklemek veya mevcut özellikleri değiştirmek daha kolaydır.</li>
</ul>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# programlama dilinde sınıf ve nesne kavramları, modern yazılım geliştirme için vazgeçilmezdir. Bu kavramları anlamak ve doğru bir şekilde kullanmak, daha sağlam, ölçeklenebilir ve bakımı kolay uygulamalar geliştirmemizi sağlar. Nesne Yönelimli Programlama prensiplerini özümseyerek, yazılım geliştirme sürecini daha verimli ve keyifli hale getirebiliriz.</p>



<p>Umarım bu makale, C# dilinde sınıf ve nesne kavramlarını anlamanıza yardımcı olmuştur. Başarılar dilerim!</p>
<p><a href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>13. Dosya İşlemleri (File I/O) – Temel Seviye</title>
		<link>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/</link>
					<comments>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 12 May 2025 12:25:53 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Dosya İşlemleri]]></category>
		<category><![CDATA[File I/O]]></category>
		<category><![CDATA[StreamReader]]></category>
		<category><![CDATA[StreamWriter]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=598</guid>

					<description><![CDATA[<p>13. Dosya İşlemleri (File I/O) – Temel Seviye C# programlama dilinde dosya işlemleri (File I/O), uygulamalarımızın kalıcı veri saklaması ve dış kaynaklardan veri alması için <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/" title="13. Dosya İşlemleri (File I/O) – Temel Seviye">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/">13. Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/6424583/pexels-photo-6424583.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">13. Dosya İşlemleri (File I/O) – Temel Seviye</h1>



<p>C# programlama dilinde dosya işlemleri (<em>File I/O</em>), uygulamalarımızın kalıcı veri saklaması ve dış kaynaklardan veri alması için hayati öneme sahiptir. Bu makalede, C# ile temel dosya okuma ve yazma işlemlerini detaylı bir şekilde inceleyeceğiz. Dosya oluşturma, okuma, yazma, silme gibi temel operasyonları örnek kodlarla açıklayacağız.</p>



<h2 class="wp-block-heading">Dosya İşlemlerine Giriş</h2>



<p>Dosya işlemleri, bir programın disk üzerindeki dosyalarla etkileşim kurmasını sağlar. Bu etkileşim, veri saklama, yapılandırma dosyalarını okuma, loglama gibi birçok farklı amaç için kullanılabilir. C#’ta <code>System.IO</code> namespace’i, dosya işlemlerini gerçekleştirmek için gerekli olan sınıfları ve metotları içerir.</p>



<h3 class="wp-block-heading">System.IO Namespace’i</h3>



<p><code>System.IO</code> namespace’i, dosya ve dizinlerle çalışmak için gereken temel sınıfları sağlar. Başlıca sınıflar şunlardır:</p>



<ul class="wp-block-list">
<li><strong>File:</strong> Dosyalar üzerinde işlem yapmak için statik metotlar içerir (oluşturma, silme, kopyalama, vb.).</li>



<li><strong>Directory:</strong> Dizinler üzerinde işlem yapmak için statik metotlar içerir (oluşturma, silme, taşıma, vb.).</li>



<li><strong>FileInfo:</strong> Bir dosyayı temsil eder ve dosya özelliklerine erişim sağlar (boyut, oluşturulma tarihi, vb.).</li>



<li><strong>DirectoryInfo:</strong> Bir dizini temsil eder ve dizin özelliklerine erişim sağlar.</li>



<li><strong>Stream:</strong> Veri akışlarını temsil eder (dosyadan okuma, dosyaya yazma, vb.).</li>



<li><strong>StreamReader:</strong> Bir dosyadan metin okumak için kullanılır.</li>



<li><strong>StreamWriter:</strong> Bir dosyaya metin yazmak için kullanılır.</li>
</ul>



<h2 class="wp-block-heading">Dosya Oluşturma ve Silme</h2>



<p>C#’ta dosya oluşturmak ve silmek için <code>File</code> sınıfının statik metotları kullanılır.</p>



<h3 class="wp-block-heading">Dosya Oluşturma</h3>



<p>Yeni bir dosya oluşturmak için <code>File.Create()</code> metodu kullanılır. Bu metot, belirtilen yolda yeni bir dosya oluşturur ve bir <code>FileStream</code> nesnesi döndürür. Bu nesne, dosyaya veri yazmak için kullanılabilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string dosyaYolu = &quot;ornek.txt&quot;;
  
   try
   {
     using (FileStream fs = File.Create(dosyaYolu))
     {
       Console.WriteLine(&quot;Dosya oluşturuldu: &quot; + dosyaYolu);
     }
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">FileStream</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">fs</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">File</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Create</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">))</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya oluşturuldu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     }</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> adında bir dosya oluşturulur. <code>using</code> bloğu, <code>FileStream</code> nesnesinin otomatik olarak kapatılmasını sağlar, böylece kaynakların serbest bırakılması garanti edilir.</p>



<h3 class="wp-block-heading">Dosya Silme</h3>



<p>Bir dosyayı silmek için <code>File.Delete()</code> metodu kullanılır. Bu metot, belirtilen yoldaki dosyayı siler.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string dosyaYolu = &quot;ornek.txt&quot;;
  
   try
   {
     File.Delete(dosyaYolu);
     Console.WriteLine(&quot;Dosya silindi: &quot; + dosyaYolu);
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">File</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Delete</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya silindi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> adlı dosya silinir. Dosya silinirken bir hata oluşursa (örneğin, dosya bulunamazsa), bir istisna yakalanır ve hata mesajı görüntülenir.</p>



<h2 class="wp-block-heading">Dosyaya Yazma</h2>



<p>C#’ta bir dosyaya veri yazmak için <code>StreamWriter</code> sınıfı kullanılır. Bu sınıf, bir dosyaya metin yazmak için gerekli olan metotları sağlar.</p>



<h3 class="wp-block-heading">StreamWriter Kullanımı</h3>



<p><code>StreamWriter</code> sınıfı, bir dosyaya metin yazmak için kullanılan temel sınıflardan biridir. Aşağıdaki örnek, <code>StreamWriter</code> kullanarak bir dosyaya nasıl veri yazılacağını gösterir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string dosyaYolu = &quot;ornek.txt&quot;;
  
   try
   {
     using (StreamWriter sw = new StreamWriter(dosyaYolu))
     {
       sw.WriteLine(&quot;Merhaba, Dünya!&quot;);
       sw.WriteLine(&quot;Bu bir örnek dosyadır.&quot;);
     }
     Console.WriteLine(&quot;Dosyaya yazıldı: &quot; + dosyaYolu);
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">StreamWriter</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sw</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StreamWriter</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">))</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">sw</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba, Dünya!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">sw</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bu bir örnek dosyadır.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     }</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosyaya yazıldı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> dosyasına iki satır metin yazılır. <code>using</code> bloğu, <code>StreamWriter</code> nesnesinin otomatik olarak kapatılmasını sağlar.</p>



<h2 class="wp-block-heading">Dosyadan Okuma</h2>



<p>C#’ta bir dosyadan veri okumak için <code>StreamReader</code> sınıfı kullanılır. Bu sınıf, bir dosyadan metin okumak için gerekli olan metotları sağlar.</p>



<h3 class="wp-block-heading">StreamReader Kullanımı</h3>



<p><code>StreamReader</code> sınıfı, bir dosyadan metin okumak için kullanılan temel sınıflardan biridir. Aşağıdaki örnek, <code>StreamReader</code> kullanarak bir dosyadan nasıl veri okunacağını gösterir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string dosyaYolu = &quot;ornek.txt&quot;;
  
   try
   {
     using (StreamReader sr = new StreamReader(dosyaYolu))
     {
       string satir;
       while ((satir = sr.ReadLine()) != null)
       {
       Console.WriteLine(satir);
       }
     }
     Console.WriteLine(&quot;Dosyadan okundu: &quot; + dosyaYolu);
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">StreamReader</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sr</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StreamReader</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">))</span></span>
<span class="line"><span style="color: #D4D4D4">     {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> ((</span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sr</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ReadLine</span><span style="color: #D4D4D4">()) != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">       {</span></span>
<span class="line"><span style="color: #D4D4D4">       </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">       }</span></span>
<span class="line"><span style="color: #D4D4D4">     }</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosyadan okundu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosyaYolu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> dosyasındaki tüm satırlar okunur ve konsola yazdırılır. <code>StreamReader.ReadLine()</code> metodu, dosyanın sonuna ulaşılana kadar satır satır okuma yapar. <code>using</code> bloğu, <code>StreamReader</code> nesnesinin otomatik olarak kapatılmasını sağlar.</p>



<h2 class="wp-block-heading">Dosya Kopyalama ve Taşıma</h2>



<p>C#’ta dosyaları kopyalamak ve taşımak için <code>File</code> sınıfının statik metotları kullanılır.</p>



<h3 class="wp-block-heading">Dosya Kopyalama</h3>



<p>Bir dosyayı kopyalamak için <code>File.Copy()</code> metodu kullanılır. Bu metot, belirtilen yoldaki dosyayı belirtilen hedef yola kopyalar.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string kaynakDosya = &quot;ornek.txt&quot;;
   string hedefDosya = &quot;kopya.txt&quot;;
  
   try
   {
     File.Copy(kaynakDosya, hedefDosya);
     Console.WriteLine(&quot;Dosya kopyalandı: &quot; + hedefDosya);
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kaynakDosya</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;kopya.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">File</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Copy</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">kaynakDosya</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya kopyalandı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> dosyası <code>kopya.txt</code> olarak kopyalanır. Eğer hedef dosyası zaten varsa, <code>File.Copy()</code> metodu bir istisna fırlatır. Bu durumu önlemek için, metodun ikinci parametresine <code>true</code> değeri verilebilir. Bu durumda, hedef dosya varsa üzerine yazılır.</p>



<h3 class="wp-block-heading">Dosya Taşıma</h3>



<p>Bir dosyayı taşımak için <code>File.Move()</code> metodu kullanılır. Bu metot, belirtilen yoldaki dosyayı belirtilen hedef yola taşır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.IO;

public class DosyaIslemleri
{
 public static void Main(string[] args)
 {
   string kaynakDosya = &quot;ornek.txt&quot;;
   string hedefDosya = &quot;yeni_dizin/ornek.txt&quot;;
  
   try
   {
     File.Move(kaynakDosya, hedefDosya);
     Console.WriteLine(&quot;Dosya taşındı: &quot; + hedefDosya);
   }
   catch (Exception e)
   {
     Console.WriteLine(&quot;Hata oluştu: &quot; + e.Message);
   }
 }
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">IO</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaIslemleri</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kaynakDosya</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;yeni_dizin/ornek.txt&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">File</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Move</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">kaynakDosya</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya taşındı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">hedefDosya</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4">   </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">   {</span></span>
<span class="line"><span style="color: #D4D4D4">     </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata oluştu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">   }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>ornek.txt</code> dosyası <code>yeni_dizin</code> adlı bir dizine taşınır. Eğer hedef dizin yoksa, bir istisna fırlatılır. Bu nedenle, dosya taşınmadan önce hedef dizinin oluşturulduğundan emin olunmalıdır.</p>



<h2 class="wp-block-heading">Özet</h2>



<p>Bu makalede, C# programlama dilinde temel dosya işlemlerini (File I/O) inceledik. Dosya oluşturma, silme, okuma, yazma, kopyalama ve taşıma gibi temel operasyonları örnek kodlarla açıkladık. Dosya işlemlerinin, uygulamalarımızın kalıcı veri saklaması ve dış kaynaklardan veri alması için ne kadar önemli olduğunu vurguladık. C# ile dosya işlemleri yaparken dikkat edilmesi gereken noktaları ve olası hataları ele aldık. <code>System.IO</code> namespace’inin sunduğu zengin araçlarla, dosya işlemlerini kolayca gerçekleştirebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/">13. Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</title>
		<link>https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/</link>
					<comments>https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 12 May 2025 12:19:31 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Exception Handling]]></category>
		<category><![CDATA[Hata Yakalama]]></category>
		<category><![CDATA[Try-Catch]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=597</guid>

					<description><![CDATA[<p>12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları C# programlama dilinde, sağlam ve güvenilir uygulamalar geliştirmek için hata yakalama (exception handling) mekanizması hayati bir öneme <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/" title="12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/">12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</h1>



<p>C# programlama dilinde, sağlam ve güvenilir uygulamalar geliştirmek için hata yakalama (exception handling) mekanizması hayati bir öneme sahiptir. Hata yakalama, programın çalışma zamanında beklenmedik durumlarla karşılaştığında çökmesini engeller ve uygulamanın kontrollü bir şekilde devam etmesini sağlar. Bu makalede, C# dilindeki hata yakalama mekanizmasını, <code>try-catch-finally</code> bloklarını ve bu blokların nasıl kullanıldığını ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">Hata (Exception) Nedir?</h2>



<p>Bir <strong>hata (exception)</strong>, programın normal akışını bozan ve beklenmedik bir durumun ortaya çıkmasıdır. Bu durumlar, sıfıra bölme, geçersiz dosya yolu, bellek yetersizliği veya ağ bağlantısı sorunları gibi çeşitli nedenlerden kaynaklanabilir. C# dilinde, hatalar nesneler olarak temsil edilir ve <code>System.Exception</code> sınıfından türetilirler.</p>



<h2 class="wp-block-heading">Try-Catch-Finally Blokları</h2>



<p>C# dilinde hata yakalama, <code>try-catch-finally</code> blokları kullanılarak gerçekleştirilir. Bu bloklar, programın hatalara karşı korunmasını sağlar ve hataların kontrollü bir şekilde ele alınmasına olanak tanır.</p>



<h3 class="wp-block-heading">Try Bloğu</h3>



<p><code>try</code> bloğu, hatalara neden olabilecek kodun yerleştirildiği bölümdür. Programın normal akışı içinde çalıştırılması beklenen kod bu blok içinde yer alır. Eğer <code>try</code> bloğu içinde bir hata meydana gelirse, programın akışı hemen <code>catch</code> bloğuna geçer.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="try
{
    // Hata oluşabilecek kod
    int sayi1 = 10;
    int sayi2 = 0;
    int sonuc = sayi1 / sayi2; // Sıfıra bölme hatası
    Console.WriteLine(&quot;Sonuç: &quot; + sonuc);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Hata oluşabilecek kod</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sonuc</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> / </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Sıfıra bölme hatası</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sonuç: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sonuc</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Catch Bloğu</h3>



<p><code>catch</code> bloğu, <code>try</code> bloğu içinde meydana gelen hataları yakalar ve işler. Her <code>try</code> bloğu için birden fazla <code>catch</code> bloğu tanımlanabilir. Bu, farklı türdeki hataların farklı şekillerde ele alınmasını sağlar. <code>catch</code> bloğu, yakalayacağı hata türünü belirtir. Eğer <code>try</code> bloğu içinde belirtilen türde bir hata meydana gelirse, ilgili <code>catch</code> bloğu çalıştırılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="catch (DivideByZeroException ex)
{
    // Sıfıra bölme hatası yakalandı
    Console.WriteLine(&quot;Hata: Sıfıra bölme hatası oluştu.&quot;);
    Console.WriteLine(&quot;Hata mesajı: &quot; + ex.Message);
}
catch (Exception ex)
{
    // Genel hata yakalama bloğu
    Console.WriteLine(&quot;Bir hata oluştu.&quot;);
    Console.WriteLine(&quot;Hata mesajı: &quot; + ex.Message);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">DivideByZeroException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Sıfıra bölme hatası yakalandı</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata: Sıfıra bölme hatası oluştu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata mesajı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">Exception</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Genel hata yakalama bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bir hata oluştu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata mesajı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Yukarıdaki örnekte, ilk <code>catch</code> bloğu <code>DivideByZeroException</code> türündeki hataları yakalar. Eğer <code>try</code> bloğu içinde sıfıra bölme hatası oluşursa, bu <code>catch</code> bloğu çalıştırılır. İkinci <code>catch</code> bloğu ise genel bir hata yakalama bloğudur ve <code>Exception</code> sınıfından türetilmiş herhangi bir hatayı yakalar. Bu blok, belirli bir hata türü için <code>catch</code> bloğu tanımlanmamış hataları ele almak için kullanılır.</p>



<h3 class="wp-block-heading">Finally Bloğu</h3>



<p><code>finally</code> bloğu, <code>try</code> bloğu içinde hata oluşsa da oluşmasa da her zaman çalıştırılan bir bölümdür. Bu blok, genellikle kaynakların serbest bırakılması (örneğin, dosya kapatma, veritabanı bağlantısını sonlandırma) gibi işlemler için kullanılır. <code>finally</code> bloğu, hata oluşsa bile bu işlemlerin mutlaka yapılmasını garanti eder.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="finally
{
    // Kaynakları serbest bırakma işlemleri
    Console.WriteLine(&quot;Finally bloğu çalıştı.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">finally</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Kaynakları serbest bırakma işlemleri</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Finally bloğu çalıştı.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Try-Catch-Finally Bloklarının Kullanımı</h2>



<p><code>try-catch-finally</code> bloklarının kullanımı, programın güvenilirliğini artırmak için önemlidir. İşte bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="try
{
    // Dosyayı açma
    StreamReader dosya = new StreamReader(&quot;dosya.txt&quot;);

    // Dosyadan veri okuma
    string satir = dosya.ReadLine();
    Console.WriteLine(&quot;Dosyadan okunan satır: &quot; + satir);

    // Dosyayı kapatma (finally bloğunda da yapılabilir)
    dosya.Close();
}
catch (FileNotFoundException ex)
{
    // Dosya bulunamadı hatası
    Console.WriteLine(&quot;Hata: Dosya bulunamadı.&quot;);
    Console.WriteLine(&quot;Hata mesajı: &quot; + ex.Message);
}
catch (IOException ex)
{
    // Girdi/çıktı hatası
    Console.WriteLine(&quot;Hata: Dosya okuma/yazma hatası.&quot;);
    Console.WriteLine(&quot;Hata mesajı: &quot; + ex.Message);
}
finally
{
    // Dosyayı kapatma (eğer açılmışsa)
    if (dosya != null)
    {
        dosya.Close();
    }
    Console.WriteLine(&quot;Finally bloğu çalıştı.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">try</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Dosyayı açma</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #4EC9B0">StreamReader</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StreamReader</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dosya.txt&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">    // Dosyadan veri okuma</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ReadLine</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosyadan okunan satır: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">    // Dosyayı kapatma (finally bloğunda da yapılabilir)</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Close</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">FileNotFoundException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Dosya bulunamadı hatası</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata: Dosya bulunamadı.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata mesajı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">IOException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Girdi/çıktı hatası</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata: Dosya okuma/yazma hatası.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata mesajı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">ex</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Message</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">finally</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Dosyayı kapatma (eğer açılmışsa)</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4"> != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Close</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Finally bloğu çalıştı.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>try</code> bloğu içinde bir dosya açılır, dosyadan veri okunur ve dosya kapatılır. Eğer dosya bulunamazsa veya dosya okuma/yazma sırasında bir hata oluşursa, ilgili <code>catch</code> bloğu çalıştırılır. <code>finally</code> bloğu ise, dosya açılmış olsun veya olmasın, dosyanın kapatılmasını garanti eder.</p>



<h2 class="wp-block-heading">Hata Türleri</h2>



<p>C# dilinde birçok farklı hata türü bulunmaktadır. En sık karşılaşılan hata türlerinden bazıları şunlardır:</p>



<ul class="wp-block-list">
<li><strong><code>DivideByZeroException</code>:</strong> Sıfıra bölme hatası.</li>



<li><strong><code>NullReferenceException</code>:</strong> Null referans hatası (bir nesneye atanmamış bir değişkene erişmeye çalışma).</li>



<li><strong><code>IndexOutOfRangeException</code>:</strong> Dizi sınırlarının dışına çıkma hatası.</li>



<li><strong><code>FileNotFoundException</code>:</strong> Dosya bulunamadı hatası.</li>



<li><strong><code>IOException</code>:</strong> Girdi/çıktı hatası.</li>



<li><strong><code>FormatException</code>:</strong> Yanlış biçimde veri girişi hatası (örneğin, bir metni sayıya dönüştürmeye çalışma).</li>
</ul>



<h2 class="wp-block-heading">Özel Hata (Exception) Sınıfları Oluşturma</h2>



<p>C# dilinde, kendi özel hata sınıflarınızı da oluşturabilirsiniz. Bu, uygulamanızdaki belirli durumlar için özelleştirilmiş hata mesajları ve davranışlar sağlamanıza olanak tanır. Özel bir hata sınıfı oluşturmak için, <code>Exception</code> sınıfından türetmeniz yeterlidir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="public class BenimOzelHatam : Exception
{
    public BenimOzelHatam(string message) : base(message)
    {
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">BenimOzelHatam</span><span style="color: #D4D4D4"> : </span><span style="color: #4EC9B0">Exception</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">BenimOzelHatam</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">message</span><span style="color: #D4D4D4">) : </span><span style="color: #569CD6">base</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">message</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>BenimOzelHatam</code> adında bir özel hata sınıfı oluşturulmuştur. Bu sınıf, <code>Exception</code> sınıfından türetilmiştir ve bir hata mesajı alarak temel sınıfın kurucusunu çağırır.</p>



<h2 class="wp-block-heading">Hata Fırlatma (Throwing Exceptions)</h2>



<p>Bazen, bir metot içinde bir hata tespit ettiğinizde, bu hatayı çağıran metoda bildirmek isteyebilirsiniz. Bu durumda, <code>throw</code> ifadesini kullanarak bir hata fırlatabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="public void KontrolEt(int sayi)
{
    if (sayi < 0)
    {
        throw new ArgumentException(&quot;Sayı negatif olamaz.&quot;);
    }
    // Diğer işlemler
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">KontrolEt</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">throw</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">ArgumentException</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı negatif olamaz.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #6A9955">    // Diğer işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>KontrolEt</code> metodu, gelen sayının negatif olup olmadığını kontrol eder. Eğer sayı negatif ise, bir <code>ArgumentException</code> hatası fırlatılır.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# programlama dilinde hata yakalama (exception handling), sağlam ve güvenilir uygulamalar geliştirmek için kritik bir öneme sahiptir. <code>try-catch-finally</code> blokları, programın hatalara karşı korunmasını sağlar ve hataların kontrollü bir şekilde ele alınmasına olanak tanır. Bu blokları doğru kullanarak, uygulamanızın çalışma zamanında beklenmedik durumlarla başa çıkmasını ve kullanıcı deneyimini iyileştirmesini sağlayabilirsiniz. Ayrıca, özel hata sınıfları oluşturarak ve hata fırlatarak, uygulamanızın hata yönetimi yeteneklerini daha da geliştirebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/">12. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/12-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>11. DateTime ve Zaman Manipülasyonu</title>
		<link>https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/</link>
					<comments>https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 12 May 2025 12:15:51 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tarih ve Saat]]></category>
		<category><![CDATA[Zaman Manipülasyonu]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=596</guid>

					<description><![CDATA[<p>11. DateTime ve Zaman Manipülasyonu C# programlama dilinde, tarih ve saat bilgileriyle çalışmak oldukça önemlidir. DateTime yapısı, tarih ve zaman değerlerini temsil etmek için kullanılırken, <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/" title="11. DateTime ve Zaman Manipülasyonu">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/">11. DateTime ve Zaman Manipülasyonu</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/277429/pexels-photo-277429.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">11. DateTime ve Zaman Manipülasyonu</h1>



<p>C# programlama dilinde, tarih ve saat bilgileriyle çalışmak oldukça önemlidir. <code>DateTime</code> yapısı, tarih ve zaman değerlerini temsil etmek için kullanılırken, çeşitli metotlar ve özellikler sayesinde bu değerler üzerinde manipülasyonlar yapmak mümkündür. Bu makalede, <code>DateTime</code> yapısını ve zaman manipülasyonlarını ayrıntılı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">DateTime Yapısı</h2>



<p><code>DateTime</code>, .NET Framework tarafından sağlanan bir yapıdır ve tarih (gün, ay, yıl) ve zaman (saat, dakika, saniye, milisaniye) bilgilerini içerir. <code>DateTime</code> yapısı, çeşitli formatlarda tarih ve zaman değerlerini saklayabilir ve bu değerler üzerinde aritmetik işlemler yapılmasına olanak tanır.</p>



<h3 class="wp-block-heading">DateTime Nesnesi Oluşturma</h3>



<p><code>DateTime</code> nesnesi oluşturmanın birkaç farklı yolu vardır:</p>



<ul class="wp-block-list">
<li>Şu anki tarih ve zamanı almak:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime now = DateTime.Now;
DateTime utcNow = DateTime.UtcNow;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">utcNow</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">UtcNow</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li>Belirli bir tarih ve zamanı belirtmek:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime specificDate = new DateTime(2024, 10, 23, 14, 30, 0); // Yıl, ay, gün, saat, dakika, saniye" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">specificDate</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">23</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">14</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Yıl, ay, gün, saat, dakika, saniye</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li>String formatından dönüştürmek:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string dateString = &quot;2024-10-23&quot;;
DateTime parsedDate = DateTime.Parse(dateString);

string dateStringWithFormat = &quot;10/23/2024 14:30:00&quot;;
DateTime parsedDateWithFormat = DateTime.ParseExact(dateStringWithFormat, &quot;MM/dd/yyyy HH:mm:ss&quot;, null);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dateString</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;2024-10-23&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">parsedDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Parse</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dateString</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dateStringWithFormat</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;10/23/2024 14:30:00&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">parsedDateWithFormat</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ParseExact</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">dateStringWithFormat</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;MM/dd/yyyy HH:mm:ss&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p><code>DateTime.Parse</code> metodu, belirtilen string’i <code>DateTime</code> nesnesine dönüştürmeye çalışır. <code>DateTime.ParseExact</code> metodu ise, belirli bir formatta olan string’i dönüştürmek için kullanılır.</p>



<h2 class="wp-block-heading">DateTime Özellikleri ve Metotları</h2>



<p><code>DateTime</code> yapısının birçok kullanışlı özelliği ve metodu bulunmaktadır. İşte bazıları:</p>



<ul class="wp-block-list">
<li><strong>Year, Month, Day:</strong> Yıl, ay ve gün bilgilerini alır.</li>



<li><strong>Hour, Minute, Second:</strong> Saat, dakika ve saniye bilgilerini alır.</li>



<li><strong>DayOfWeek:</strong> Haftanın gününü (Pazartesi, Salı, vb.) alır.</li>



<li><strong>DayOfYear:</strong> Yılın kaçıncı günü olduğunu alır.</li>



<li><strong>ToLongDateString(), ToShortDateString():</strong> Tarihi uzun veya kısa formatta string olarak döndürür.</li>



<li><strong>ToLongTimeString(), ToShortTimeString():</strong> Zamanı uzun veya kısa formatta string olarak döndürür.</li>



<li><strong>AddYears(), AddMonths(), AddDays(), AddHours(), AddMinutes(), AddSeconds():</strong> Belirtilen miktarda yıl, ay, gün, saat, dakika veya saniye ekler.</li>



<li><strong>Subtract():</strong> İki <code>DateTime</code> nesnesi arasındaki farkı <code>TimeSpan</code> olarak döndürür.</li>



<li><strong>ToString():</strong> <code>DateTime</code> nesnesini belirtilen formatta string’e dönüştürür.</li>
</ul>



<h3 class="wp-block-heading">Örnek Kullanımlar</h3>



<p>Aşağıda, <code>DateTime</code> özelliklerinin ve metotlarının kullanımına dair bazı örnekler bulunmaktadır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime now = DateTime.Now;

Console.WriteLine(&quot;Yıl: &quot; + now.Year);
Console.WriteLine(&quot;Ay: &quot; + now.Month);
Console.WriteLine(&quot;Gün: &quot; + now.Day);
Console.WriteLine(&quot;Saat: &quot; + now.Hour);
Console.WriteLine(&quot;Dakika: &quot; + now.Minute);
Console.WriteLine(&quot;Saniye: &quot; + now.Second);
Console.WriteLine(&quot;Haftanın Günü: &quot; + now.DayOfWeek);
Console.WriteLine(&quot;Yılın Günü: &quot; + now.DayOfYear);

DateTime futureDate = now.AddDays(10);
Console.WriteLine(&quot;10 Gün Sonrası: &quot; + futureDate.ToLongDateString());

TimeSpan difference = futureDate.Subtract(now);
Console.WriteLine(&quot;Fark: &quot; + difference.TotalDays + &quot; gün&quot;);

string formattedDate = now.ToString(&quot;dd/MM/yyyy HH:mm:ss&quot;);
Console.WriteLine(&quot;Formatlı Tarih: &quot; + formattedDate);" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Yıl: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Year</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ay: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Month</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Gün: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Day</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Saat: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Hour</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dakika: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Minute</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Saniye: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Second</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Haftanın Günü: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">DayOfWeek</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Yılın Günü: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">DayOfYear</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">futureDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddDays</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;10 Gün Sonrası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">futureDate</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToLongDateString</span><span style="color: #D4D4D4">());</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">TimeSpan</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">futureDate</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Subtract</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Fark: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">TotalDays</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot; gün&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formattedDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dd/MM/yyyy HH:mm:ss&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Formatlı Tarih: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">formattedDate</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Zaman Manipülasyonu</h2>



<p><code>DateTime</code> yapısı, tarih ve zaman değerleri üzerinde çeşitli manipülasyonlar yapmaya olanak tanır. Bu manipülasyonlar, tarih ekleme, çıkarma, karşılaştırma ve formatlama gibi işlemleri içerir.</p>



<h3 class="wp-block-heading">Tarih ve Zaman Ekleme</h3>



<p><code>AddYears()</code>, <code>AddMonths()</code>, <code>AddDays()</code>, <code>AddHours()</code>, <code>AddMinutes()</code> ve <code>AddSeconds()</code> metotları, <code>DateTime</code> nesnesine belirtilen miktarda zaman eklemek için kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime now = DateTime.Now;
DateTime futureDate = now.AddDays(7); // 7 gün ekle
DateTime futureMonth = now.AddMonths(2); // 2 ay ekle
DateTime futureYear = now.AddYears(1); // 1 yıl ekle" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">futureDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddDays</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 7 gün ekle</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">futureMonth</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddMonths</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 2 ay ekle</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">futureYear</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddYears</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 1 yıl ekle</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Tarih ve Zaman Çıkarma</h3>



<p><code>Subtract()</code> metodu, iki <code>DateTime</code> nesnesi arasındaki farkı bulmak için kullanılır. Bu metot, <code>TimeSpan</code> türünde bir değer döndürür.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime startDate = new DateTime(2024, 1, 1);
DateTime endDate = DateTime.Now;
TimeSpan difference = endDate.Subtract(startDate);

Console.WriteLine(&quot;Gün Farkı: &quot; + difference.TotalDays);
Console.WriteLine(&quot;Saat Farkı: &quot; + difference.TotalHours);
Console.WriteLine(&quot;Dakika Farkı: &quot; + difference.TotalMinutes);" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">startDate</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">endDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">TimeSpan</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">endDate</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Subtract</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">startDate</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Gün Farkı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">TotalDays</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Saat Farkı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">TotalHours</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dakika Farkı: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">difference</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">TotalMinutes</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Tarih ve Zaman Karşılaştırma</h3>



<p><code>DateTime</code> nesneleri, karşılaştırma operatörleri (==, !=, &lt;, &gt;, &lt;=, &gt;=) kullanılarak karşılaştırılabilir. Ayrıca, <code>CompareTo()</code> metodu da kullanılabilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime date1 = new DateTime(2024, 10, 23);
DateTime date2 = new DateTime(2024, 11, 15);

if (date1 < date2)
{
 Console.WriteLine(&quot;date1, date2'den önce&quot;);
}

int comparisonResult = date1.CompareTo(date2);
if (comparisonResult < 0)
{
 Console.WriteLine(&quot;date1, date2'den önce&quot;);
}
else if (comparisonResult &gt; 0)
{
 Console.WriteLine(&quot;date1, date2'den sonra&quot;);
}
else
{
 Console.WriteLine(&quot;date1 ve date2 aynı&quot;);
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">date1</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">23</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">date2</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">11</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">15</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">date1</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #9CDCFE">date2</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;date1, date2&#39;den önce&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">comparisonResult</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">date1</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">CompareTo</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">date2</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">comparisonResult</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;date1, date2&#39;den önce&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">comparisonResult</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;date1, date2&#39;den sonra&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;date1 ve date2 aynı&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Tarih ve Zaman Formatlama</h3>



<p><code>ToString()</code> metodu, <code>DateTime</code> nesnesini belirtilen formatta bir string’e dönüştürmek için kullanılır. Özel format belirteçleri kullanılarak, tarih ve zamanın nasıl görüntüleneceği kontrol edilebilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="DateTime now = DateTime.Now;

string formattedDate1 = now.ToString(&quot;dd/MM/yyyy&quot;); // Gün/Ay/Yıl
string formattedDate2 = now.ToString(&quot;MM/dd/yyyy HH:mm:ss&quot;); // Ay/Gün/Yıl Saat:Dakika:Saniye
string formattedDate3 = now.ToString(&quot;yyyy-MM-dd HH:mm:ss.fff&quot;); // Yıl-Ay-Gün Saat:Dakika:Saniye.Milisaniye
string formattedDate4 = now.ToString(&quot;dddd, dd MMMM yyyy&quot;); // Haftanın Günü, Gün Ay Yıl" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formattedDate1</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dd/MM/yyyy&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Gün/Ay/Yıl</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formattedDate2</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;MM/dd/yyyy HH:mm:ss&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ay/Gün/Yıl Saat:Dakika:Saniye</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formattedDate3</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;yyyy-MM-dd HH:mm:ss.fff&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Yıl-Ay-Gün Saat:Dakika:Saniye.Milisaniye</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formattedDate4</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dddd, dd MMMM yyyy&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Haftanın Günü, Gün Ay Yıl</span></span></code></pre></div>



<p></p>



<p>Özel format belirteçleri hakkında daha fazla bilgi için <a href="https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings">Microsoft’un dokümanlarına</a> göz atabilirsiniz.</p>



<h2 class="wp-block-heading">Time Zone (Saat Dilimi) İşlemleri</h2>



<p><code>TimeZoneInfo</code> sınıfı, saat dilimi bilgilerini yönetmek için kullanılır. Farklı saat dilimlerindeki tarih ve saatleri dönüştürmek ve işlem yapmak için bu sınıfı kullanabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById(&quot;Eastern Standard Time&quot;);
DateTime currentTime = DateTime.Now;
DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, est);

Console.WriteLine(&quot;Şu Anki Zaman (UTC): &quot; + DateTime.UtcNow);
Console.WriteLine(&quot;Şu Anki Zaman (EST): &quot; + estTime);" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">TimeZoneInfo</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">est</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">TimeZoneInfo</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">FindSystemTimeZoneById</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Eastern Standard Time&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">currentTime</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Now</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">DateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">estTime</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">TimeZoneInfo</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ConvertTimeFromUtc</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">UtcNow</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">est</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Şu Anki Zaman (UTC): &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">DateTime</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">UtcNow</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Şu Anki Zaman (EST): &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">estTime</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Bu makalede, C# programlama dilinde <code>DateTime</code> yapısının nasıl kullanılacağını ve zaman manipülasyonlarının nasıl yapılacağını ayrıntılı bir şekilde inceledik. <code>DateTime</code> yapısı, tarih ve zaman bilgileriyle çalışmak için güçlü ve esnek bir araçtır. Bu bilgileri kullanarak, uygulamalarınızda tarih ve zamanla ilgili işlemleri kolayca gerçekleştirebilirsiniz.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Zaman, her şeyin ilacıdır.&#8221; &#8211; William Shakespeare</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/">11. DateTime ve Zaman Manipülasyonu</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/11-datetime-ve-zaman-manipulasyonu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10. C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı</title>
		<link>https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/</link>
					<comments>https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Thu, 08 May 2025 08:45:42 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[metin işleme]]></category>
		<category><![CDATA[StringBuilder]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=593</guid>

					<description><![CDATA[<p>C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı C# programlama dilinde, metinlerle çalışmak oldukça yaygın bir ihtiyaçtır. Bu ihtiyacı karşılamak için C#, zengin string işleme <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/" title="10. C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/">10. C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı</h1>



<p>C# programlama dilinde, metinlerle çalışmak oldukça yaygın bir ihtiyaçtır. Bu ihtiyacı karşılamak için C#, zengin <strong>string işleme</strong> yetenekleri sunar. Bu makalede, C# dilinde stringlerle nasıl çalışılacağını ve performans açısından kritik olan <code>StringBuilder</code> sınıfının nasıl kullanılacağını detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">String Veri Tipi</h2>



<p>C# dilinde <code>string</code> veri tipi, metinsel verileri temsil etmek için kullanılır. <code>string</code> aslında bir <code>System.String</code> sınıfının bir takma adıdır. Stringler, Unicode karakter dizileridir ve değiştirilemez (immutable) yapıdadırlar. Bu, bir string oluşturulduktan sonra içeriğinin değiştirilemeyeceği anlamına gelir. String üzerinde yapılan her değişiklik, aslında yeni bir string nesnesi oluşturur.</p>



<p><strong>String Tanımlama ve Başlatma:</strong></p>



<p>String tanımlamak ve başlatmak oldukça basittir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string message = &quot;Merhaba, Dünya!&quot;;
string name = &quot;Ahmet&quot;;
string emptyString = string.Empty; // Boş bir string
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">message</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Merhaba, Dünya!&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">name</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Ahmet&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">emptyString</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Empty</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Boş bir string</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Temel String İşlemleri</h2>



<p>C#, stringlerle çalışmak için birçok yerleşik metot sunar. İşte en sık kullanılanlardan bazıları:</p>



<h3 class="wp-block-heading">String Birleştirme (Concatenation)</h3>



<p>Stringleri birleştirmenin birkaç yolu vardır:</p>



<ul class="wp-block-list">
<li><code>+</code> operatörü ile birleştirme</li>



<li><code>string.Concat()</code> metodu ile birleştirme</li>



<li><code>string.Format()</code> metodu ile biçimlendirme</li>
</ul>



<p><strong>Örnekler:</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string firstName = &quot;Ayşe&quot;;
string lastName = &quot;Yılmaz&quot;;

// + operatörü ile birleştirme
string fullName = firstName + &quot; &quot; + lastName; // Ayşe Yılmaz

// string.Concat() ile birleştirme
string fullName2 = string.Concat(firstName, &quot; &quot;, lastName); // Ayşe Yılmaz

// string.Format() ile biçimlendirme
string fullName3 = string.Format(&quot;{0} {1}&quot;, firstName, lastName); // Ayşe Yılmaz

Console.WriteLine(fullName);
Console.WriteLine(fullName2);
Console.WriteLine(fullName3);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">firstName</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">lastName</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Yılmaz&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// + operatörü ile birleştirme</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">fullName</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">firstName</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">lastName</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Ayşe Yılmaz</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// string.Concat() ile birleştirme</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">fullName2</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Concat</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">firstName</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">lastName</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ayşe Yılmaz</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// string.Format() ile biçimlendirme</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">fullName3</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Format</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;{0} {1}&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">firstName</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">lastName</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ayşe Yılmaz</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">fullName</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">fullName2</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">fullName3</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String Uzunluğunu Bulma</h3>



<p>Bir stringin uzunluğunu (karakter sayısını) bulmak için <code>Length</code> özelliğini kullanırız.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string text = &quot;C# Programlama&quot;;
int length = text.Length; // 14
Console.WriteLine(&quot;Metnin uzunluğu: &quot; + length);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;C# Programlama&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">length</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Length</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// 14</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Metnin uzunluğu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">length</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String İçinde Arama Yapma</h3>



<p>Bir stringin içinde belirli bir alt stringin olup olmadığını kontrol etmek veya konumunu bulmak için aşağıdaki metotlar kullanılabilir:</p>



<ul class="wp-block-list">
<li><code>Contains()</code>: Belirli bir alt stringin içerilip içerilmediğini kontrol eder.</li>



<li><code>IndexOf()</code>: Belirli bir alt stringin ilk görüldüğü indeksi döndürür. Bulunamazsa -1 döndürür.</li>



<li><code>LastIndexOf()</code>: Belirli bir alt stringin son görüldüğü indeksi döndürür. Bulunamazsa -1 döndürür.</li>



<li><code>StartsWith()</code>: Stringin belirli bir alt string ile başlayıp başlamadığını kontrol eder.</li>



<li><code>EndsWith()</code>: Stringin belirli bir alt string ile bitip bitmediğini kontrol eder.</li>
</ul>



<p><strong>Örnekler:</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string sentence = &quot;C# programlama dili çok güçlüdür.&quot;;

bool containsCSharp = sentence.Contains(&quot;C#&quot;); // true
int indexOfDili = sentence.IndexOf(&quot;dili&quot;); // 15
int lastIndexOfA = sentence.LastIndexOf(&quot;a&quot;); // 28
bool startsWithCSharp = sentence.StartsWith(&quot;C#&quot;); // true
bool endsWithNokta = sentence.EndsWith(&quot;.&quot;); // true

Console.WriteLine(&quot;C# içeriyor mu: &quot; + containsCSharp);
Console.WriteLine(&quot;\&quot;dili\&quot; kelimesinin indeksi: &quot; + indexOfDili);
Console.WriteLine(&quot;\&quot;a\&quot; harfinin son indeksi: &quot; + lastIndexOfA);
Console.WriteLine(&quot;C# ile başlıyor mu: &quot; + startsWithCSharp);
Console.WriteLine(&quot;. ile bitiyor mu: &quot; + endsWithNokta);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;C# programlama dili çok güçlüdür.&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">containsCSharp</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Contains</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C#&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// true</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">indexOfDili</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">IndexOf</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dili&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 15</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">lastIndexOfA</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">LastIndexOf</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;a&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 28</span></span>
<span class="line"><span style="color: #569CD6">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">startsWithCSharp</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">StartsWith</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C#&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// true</span></span>
<span class="line"><span style="color: #569CD6">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">endsWithNokta</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sentence</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">EndsWith</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;.&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// true</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C# içeriyor mu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">containsCSharp</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;</span><span style="color: #D7BA7D">\&quot;</span><span style="color: #CE9178">dili</span><span style="color: #D7BA7D">\&quot;</span><span style="color: #CE9178"> kelimesinin indeksi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">indexOfDili</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;</span><span style="color: #D7BA7D">\&quot;</span><span style="color: #CE9178">a</span><span style="color: #D7BA7D">\&quot;</span><span style="color: #CE9178"> harfinin son indeksi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">lastIndexOfA</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C# ile başlıyor mu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">startsWithCSharp</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;. ile bitiyor mu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">endsWithNokta</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String Değiştirme</h3>



<p>Bir string içindeki belirli bir alt stringi başka bir alt string ile değiştirmek için <code>Replace()</code> metodu kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string text = &quot;Merhaba Dünya&quot;;
string newText = text.Replace(&quot;Dünya&quot;, &quot;Mars&quot;); // Merhaba Mars
Console.WriteLine(newText);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Merhaba Dünya&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">newText</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Replace</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dünya&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Mars&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba Mars</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">newText</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String Bölme</h3>



<p>Bir stringi belirli bir ayraç (delimiter) kullanarak parçalara ayırmak için <code>Split()</code> metodu kullanılır. Bu metot, bir string dizisi döndürür.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string names = &quot;Ali,Veli,Ayşe&quot;;
string[] nameArray = names.Split(','); // [&quot;Ali&quot;, &quot;Veli&quot;, &quot;Ayşe&quot;]

foreach (string name in nameArray)
{
    Console.WriteLine(name);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">names</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Ali,Veli,Ayşe&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">nameArray</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">names</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Split</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&#39;,&#39;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// [&quot;Ali&quot;, &quot;Veli&quot;, &quot;Ayşe&quot;]</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">foreach</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">name</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">in</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">nameArray</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">name</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String Kırpma</h3>



<p>Bir stringin başındaki ve sonundaki boşlukları veya belirtilen karakterleri temizlemek için <code>Trim()</code>, <code>TrimStart()</code> ve <code>TrimEnd()</code> metotları kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string text = &quot;   Merhaba Dünya   &quot;;
string trimmedText = text.Trim(); // &quot;Merhaba Dünya&quot;
string trimmedStart = text.TrimStart(); // &quot;Merhaba Dünya   &quot;
string trimmedEnd = text.TrimEnd(); // &quot;   Merhaba Dünya&quot;

Console.WriteLine(&quot;Kırpılmış metin: &quot; + trimmedText);
Console.WriteLine(&quot;Baştan kırpılmış metin: &quot; + trimmedStart);
Console.WriteLine(&quot;Sondan kırpılmış metin: &quot; + trimmedEnd);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;   Merhaba Dünya   &quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">trimmedText</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Trim</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// &quot;Merhaba Dünya&quot;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">trimmedStart</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">TrimStart</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// &quot;Merhaba Dünya   &quot;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">trimmedEnd</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">TrimEnd</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// &quot;   Merhaba Dünya&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Kırpılmış metin: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">trimmedText</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Baştan kırpılmış metin: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">trimmedStart</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sondan kırpılmış metin: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">trimmedEnd</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">String Alt String Alma</h3>



<p>Bir stringin belirli bir bölümünü almak için <code>Substring()</code> metodu kullanılır. Bu metot, başlangıç indeksi ve isteğe bağlı olarak uzunluk parametrelerini alır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string text = &quot;C# Programlama Dili&quot;;
string subString = text.Substring(3); // &quot; Programlama Dili&quot;
string subString2 = text.Substring(3, 10); // &quot; Programlam&quot;

Console.WriteLine(&quot;Alt metin: &quot; + subString);
Console.WriteLine(&quot;Alt metin 2: &quot; + subString2);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;C# Programlama Dili&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">subString</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Substring</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// &quot; Programlama Dili&quot;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">subString2</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Substring</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// &quot; Programlam&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Alt metin: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">subString</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Alt metin 2: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">subString2</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">StringBuilder Sınıfı</h2>



<p><code>string</code> veri tipinin değiştirilemez (immutable) yapıda olması, sık sık string manipülasyonu gerektiren durumlarda performans sorunlarına yol açabilir. Çünkü her değişiklik yeni bir string nesnesi oluşturur ve bu da bellek tüketimini artırır. Bu tür durumlar için C#, <code>System.Text.StringBuilder</code> sınıfını sunar. <code>StringBuilder</code>, değiştirilebilir (mutable) bir string sınıfıdır. Yani, içeriği değiştirildiğinde yeni bir nesne oluşturmak yerine mevcut nesne üzerinde değişiklik yapar. Bu, performans açısından önemli bir avantaj sağlar.</p>



<h3 class="wp-block-heading">StringBuilder Kullanımı</h3>



<p><code>StringBuilder</code> sınıfını kullanmak için öncelikle bir örnek oluşturmanız gerekir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System.Text;

StringBuilder sb = new StringBuilder();
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Text</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">StringBuilder Metotları</h3>



<p><code>StringBuilder</code> sınıfı, string manipülasyonu için çeşitli metotlar sunar:</p>



<ul class="wp-block-list">
<li><code>Append()</code>: Stringin sonuna yeni bir string ekler.</li>



<li><code>Insert()</code>: Belirli bir konuma bir string ekler.</li>



<li><code>Remove()</code>: Belirli bir aralıktaki karakterleri siler.</li>



<li><code>Replace()</code>: Belirli bir alt stringi başka bir alt string ile değiştirir.</li>



<li><code>ToString()</code>: <code>StringBuilder</code> nesnesini <code>string</code> veri tipine dönüştürür.</li>
</ul>



<p><strong>Örnekler:</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.Text;

public class Example
{
    public static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder(&quot;Merhaba&quot;);

        sb.Append(&quot;, Dünya!&quot;); // Merhaba, Dünya!
        sb.Insert(7, &quot; Sevgili&quot;); // Merhaba Sevgili, Dünya!
        sb.Remove(7, 9); // Merhaba, Dünya!
        sb.Replace(&quot;Dünya&quot;, &quot;Mars&quot;); // Merhaba, Mars!

        string result = sb.ToString();
        Console.WriteLine(result); // Merhaba, Mars!
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Text</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Example</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Append</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;, Dünya!&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba, Dünya!</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Insert</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot; Sevgili&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba Sevgili, Dünya!</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Remove</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">9</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba, Dünya!</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Replace</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dünya&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Mars&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba, Mars!</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">result</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">result</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Merhaba, Mars!</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">StringBuilder ve String Karşılaştırması</h3>



<p>Aşağıdaki örnek, <code>string</code> ve <code>StringBuilder</code> arasındaki performans farkını göstermektedir. Bir döngü içinde sürekli string birleştirme işlemi yapıldığında, <code>StringBuilder</code>&#8216;ın performansı <code>string</code>&#8216;e göre çok daha iyidir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="using System;
using System.Diagnostics;
using System.Text;

public class PerformanceExample
{
    public static void Main(string[] args)
    {
        int iterations = 10000;

        // String ile performans testi
        Stopwatch stringStopwatch = Stopwatch.StartNew();
        string text = &quot;&quot;;
        for (int i = 0; i < iterations; i++)
        {
            text += i.ToString();
        }
        stringStopwatch.Stop();
        Console.WriteLine(&quot;String süresi: &quot; + stringStopwatch.ElapsedMilliseconds + &quot; ms&quot;);

        // StringBuilder ile performans testi
        Stopwatch stringBuilderStopwatch = Stopwatch.StartNew();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < iterations; i++)
        {
            sb.Append(i.ToString());
        }
        stringBuilderStopwatch.Stop();
        Console.WriteLine(&quot;StringBuilder süresi: &quot; + stringBuilderStopwatch.ElapsedMilliseconds + &quot; ms&quot;);
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Diagnostics</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Text</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">PerformanceExample</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">iterations</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10000</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">        // String ile performans testi</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">Stopwatch</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">stringStopwatch</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Stopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">StartNew</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #9CDCFE">iterations</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">++)</span></span>
<span class="line"><span style="color: #D4D4D4">        {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">text</span><span style="color: #D4D4D4"> += </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">stringStopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Stop</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;String süresi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">stringStopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">ElapsedMilliseconds</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot; ms&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">        // StringBuilder ile performans testi</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">Stopwatch</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">stringBuilderStopwatch</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Stopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">StartNew</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #9CDCFE">iterations</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">++)</span></span>
<span class="line"><span style="color: #D4D4D4">        {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Append</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ToString</span><span style="color: #D4D4D4">());</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">stringBuilderStopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Stop</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;StringBuilder süresi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">stringBuilderStopwatch</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">ElapsedMilliseconds</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot; ms&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, 10000 yineleme yapıldığında <code>StringBuilder</code>&#8216;ın çok daha hızlı olduğu görülecektir.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# dilinde stringlerle çalışmak, programlama sürecinin önemli bir parçasıdır. <code>string</code> veri tipi temel metin işleme ihtiyaçlarını karşılarken, performansın kritik olduğu durumlarda <code>StringBuilder</code> sınıfı önemli bir avantaj sağlar. Bu makalede, string işleme metotlarını ve <code>StringBuilder</code> sınıfının kullanımını detaylı bir şekilde inceledik. Doğru araçları doğru yerde kullanarak, daha verimli ve performanslı C# uygulamaları geliştirebilirsiniz.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Unutmayın, <code>string</code> değiştirilemez (immutable) bir veri tipidir, bu yüzden sık sık string manipülasyonu yapmanız gerekiyorsa <code>StringBuilder</code> kullanmak daha iyi bir seçenektir.</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/">10. C# Programlama Dilinde String İşlemleri ve StringBuilder Kullanımı</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/10-c-programlama-dilinde-string-islemleri-ve-stringbuilder-kullanimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.)</title>
		<link>https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/</link>
					<comments>https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 06 May 2025 13:49:47 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=586</guid>

					<description><![CDATA[<p>9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.) C# programlama dilinde, verileri düzenli bir şekilde saklamak ve yönetmek için çeşitli yapılar bulunur. Bunlar arasında diziler <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/" title="9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/">9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.)</h1>



<p>C# programlama dilinde, verileri düzenli bir şekilde saklamak ve yönetmek için çeşitli yapılar bulunur. Bunlar arasında <strong>diziler (arrays)</strong> ve <strong>koleksiyonlar (collections)</strong> öne çıkar. Bu yapılar, aynı türden veya farklı türden verileri bir arada tutarak, programın daha verimli ve düzenli çalışmasını sağlar. Bu makalede, C# dilindeki dizileri, koleksiyonları ve en sık kullanılan koleksiyon türlerini detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Diziler (Arrays)</h2>



<p>Diziler, aynı türden verilerin sıralı bir şekilde saklandığı veri yapılarıdır. Dizilerin boyutu tanımlanırken belirtilir ve daha sonra değiştirilemez. Bu, dizilerin bellekte sabit bir alana sahip olmasını sağlar, bu da performansı artırır. Ancak, boyutun sabit olması, esneklik açısından bazı sınırlamalar getirebilir.</p>



<h3 class="wp-block-heading">Dizi Tanımlama ve Kullanımı</h3>



<p>C# dilinde bir dizi tanımlamak için aşağıdaki sözdizimi kullanılır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
tür[] diziAdı = new tür[boyut];
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">tür</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">diziAdı</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">tür</span><span style="color: #D4D4D4">[</span><span style="color: #9CDCFE">boyut</span><span style="color: #D4D4D4">];</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Örneğin, 5 elemanlı bir integer dizisi tanımlamak için:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int[] sayilar = new int[5];
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">];</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Dizinin elemanlarına erişmek için indeksler kullanılır. İndeksler 0&#8217;dan başlar:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
sayilar[0] = 10;
sayilar[1] = 20;
// ...
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #6A9955">// ...</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dizi Örneği</h3>



<p>Aşağıdaki örnek, bir integer dizisi oluşturur, elemanlarına değer atar ve ekrana yazdırır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System;

public class DiziOrnek
{
    public static void Main(string[] args)
    {
        int[] sayilar = new int[5];
        sayilar[0] = 10;
        sayilar[1] = 20;
        sayilar[2] = 30;
        sayilar[3] = 40;
        sayilar[4] = 50;

        for (int i = 0; i < sayilar.Length; i++)
        {
            Console.WriteLine(&quot;sayilar[&quot; + i + &quot;] = &quot; + sayilar[i]);
        }
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DiziOrnek</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">];</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">40</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">] = </span><span style="color: #B5CEA8">50</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> &lt; </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Length</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">++)</span></span>
<span class="line"><span style="color: #D4D4D4">        {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;sayilar[&quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot;] = &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">[</span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">]);</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu kodun çıktısı:</p>



<pre class="wp-block-code"><code>
sayilar&#91;0] = 10
sayilar&#91;1] = 20
sayilar&#91;2] = 30
sayilar&#91;3] = 40
sayilar&#91;4] = 50
</code></pre>



<h2 class="wp-block-heading">Koleksiyonlar (Collections)</h2>



<p>Koleksiyonlar, dizilere göre daha esnek ve dinamik veri yapılarıdır. Koleksiyonların boyutu, eleman ekleme veya çıkarma işlemlerine göre otomatik olarak ayarlanabilir. C# dilinde, <code>System.Collections</code> ve <code>System.Collections.Generic</code> isim alanlarında birçok farklı koleksiyon türü bulunur.</p>



<h3 class="wp-block-heading"><code>ArrayList</code></h3>



<p><code>ArrayList</code>, farklı türden nesneleri saklayabilen, dinamik boyutlu bir koleksiyondur. Ancak, <code>ArrayList</code>&#8216;e değer eklerken ve değer okurken boxing ve unboxing işlemleri yapılması gerektiği için performans sorunlarına yol açabilir. Bu nedenle, mümkünse generic koleksiyonlar tercih edilmelidir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections;

ArrayList liste = new ArrayList();
liste.Add(10);
liste.Add(&quot;Merhaba&quot;);
liste.Add(true);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">ArrayList</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">liste</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">ArrayList</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">liste</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">liste</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">liste</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>List&lt;T&gt;</code></h3>



<p><code>List&lt;T&gt;</code>, generic bir koleksiyon türüdür. Yani, belirli bir türdeki (T) nesneleri saklar. Bu, boxing ve unboxing işlemlerini ortadan kaldırarak performansı artırır. <code>List&lt;T&gt;</code>, en sık kullanılan koleksiyon türlerinden biridir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections.Generic;

List sayilar = new List();
sayilar.Add(10);
sayilar.Add(20);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Generic</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">List</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">List</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>Dictionary&lt;TKey, TValue&gt;</code></h3>



<p><code>Dictionary&lt;TKey, TValue&gt;</code>, anahtar-değer çiftlerini saklayan bir koleksiyondur. Her anahtar benzersiz olmalıdır. <code>Dictionary</code>, verilere hızlı bir şekilde erişmek için idealdir. Örneğin, bir öğrenci numarasını anahtar, öğrenci adını değer olarak saklayabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections.Generic;

Dictionary<int, string&gt; ogrenciler = new Dictionary<int, string&gt;();
ogrenciler.Add(1, &quot;Ahmet&quot;);
ogrenciler.Add(2, &quot;Ayşe&quot;);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Generic</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Dictionary</span><span style="color: #D4D4D4">&lt;</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">&gt; </span><span style="color: #9CDCFE">ogrenciler</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Dictionary</span><span style="color: #D4D4D4">&lt;</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">&gt;();</span></span>
<span class="line"><span style="color: #9CDCFE">ogrenciler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Ahmet&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">ogrenciler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>HashSet&lt;T&gt;</code></h3>



<p><code>HashSet&lt;T&gt;</code>, benzersiz elemanları saklayan bir koleksiyondur. Bir elemanı birden fazla kez eklemeye çalışırsanız, sadece bir tanesi saklanır. <code>HashSet</code>, bir listede tekrar eden elemanları bulmak veya benzersiz elemanlardan oluşan bir küme oluşturmak için kullanışlıdır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections.Generic;

HashSet sayilar = new HashSet();
sayilar.Add(10);
sayilar.Add(20);
sayilar.Add(10); // Tekrar eklemeye çalışsak bile sadece bir tane 10 saklanır.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Generic</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">HashSet</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">HashSet</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Add</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Tekrar eklemeye çalışsak bile sadece bir tane 10 saklanır.</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>Queue&lt;T&gt;</code></h3>



<p><code>Queue&lt;T&gt;</code>, FIFO (First-In-First-Out &#8211; İlk Giren İlk Çıkar) prensibine göre çalışan bir koleksiyondur. Elemanlar sırayla eklenir ve sırayla çıkarılır. Kuyruk yapısı, görevleri veya işlemleri sıraya koymak için kullanışlıdır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections.Generic;

Queue mesajlar = new Queue();
mesajlar.Enqueue(&quot;Merhaba&quot;);
mesajlar.Enqueue(&quot;Dünya&quot;);

string ilkMesaj = mesajlar.Dequeue(); // İlk mesajı (Merhaba) alır ve kuyruktan çıkarır.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Generic</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Queue</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesajlar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Queue</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">mesajlar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Enqueue</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">mesajlar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Enqueue</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dünya&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ilkMesaj</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">mesajlar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Dequeue</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// İlk mesajı (Merhaba) alır ve kuyruktan çıkarır.</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>Stack&lt;T&gt;</code></h3>



<p><code>Stack&lt;T&gt;</code>, LIFO (Last-In-First-Out &#8211; Son Giren İlk Çıkar) prensibine göre çalışan bir koleksiyondur. Elemanlar sırayla eklenir ve en son eklenen eleman ilk çıkarılır. Yığın yapısı, geri alma (undo) işlemleri veya fonksiyon çağrılarını takip etmek için kullanışlıdır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System.Collections.Generic;

Stack sayilar = new Stack();
sayilar.Push(10);
sayilar.Push(20);

int sonSayi = sayilar.Pop(); // Son sayıyı (20) alır ve yığından çıkarır.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Collections</span><span style="color: #D4D4D4">.</span><span style="color: #4EC9B0">Generic</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Stack</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Stack</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Push</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Push</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sonSayi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Pop</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// Son sayıyı (20) alır ve yığından çıkarır.</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Koleksiyon Metotları ve Özellikleri</h2>



<p>Koleksiyonların birçoğu ortak metot ve özelliklere sahiptir. İşte bazıları:</p>



<ul class="wp-block-list">
<li><code>Add(T item)</code>: Koleksiyona bir eleman ekler.</li>



<li><code>Remove(T item)</code>: Koleksiyondan bir eleman siler.</li>



<li><code>Contains(T item)</code>: Koleksiyonda belirli bir elemanın olup olmadığını kontrol eder.</li>



<li><code>Count</code>: Koleksiyondaki eleman sayısını döndürür.</li>



<li><code>Clear()</code>: Koleksiyondaki tüm elemanları siler.</li>
</ul>



<h2 class="wp-block-heading">Dizi ve Koleksiyon Seçimi</h2>



<p>Dizi mi yoksa koleksiyon mu kullanacağınız, uygulamanızın gereksinimlerine bağlıdır. Eğer boyutun önceden bilindiği ve değişmeyeceği durumlarda diziler daha performanslı olabilir. Ancak, boyutun dinamik olarak değiştiği ve daha fazla esneklik gerektiği durumlarda koleksiyonlar daha uygun olacaktır.</p>



<p>Örneğin, bir sınavdaki öğrenci sayısının sabit olduğu durumlarda bir dizi kullanılabilirken, bir sosyal medya uygulamasındaki kullanıcıların listesi sürekli değiştiği için bir koleksiyon kullanmak daha mantıklıdır.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# dilindeki diziler ve koleksiyonlar, verileri düzenli bir şekilde saklamak ve yönetmek için güçlü araçlardır. Diziler, sabit boyutlu ve aynı türden veriler için idealdirken, koleksiyonlar dinamik boyutlu ve farklı türden veriler için daha fazla esneklik sunar. Uygulamanızın gereksinimlerine uygun olarak, dizileri veya koleksiyonları kullanarak daha verimli ve düzenli kod yazabilirsiniz. Özellikle <code>List&lt;T&gt;</code> ve <code>Dictionary&lt;TKey, TValue&gt;</code> gibi generic koleksiyonlar, performansı artırmak ve kodun okunabilirliğini sağlamak için sıklıkla tercih edilmelidir.</p>
<p><a href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/">9. Diziler ve Koleksiyonlar (Array, List, Dictionary, vb.)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-list-dictionary-vb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>8. Metotlar (Fonksiyonlar) ve Parametreler</title>
		<link>https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/</link>
					<comments>https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 06 May 2025 13:46:41 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[fonksiyonlar]]></category>
		<category><![CDATA[metotlar]]></category>
		<category><![CDATA[parametreler]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=585</guid>

					<description><![CDATA[<p>8. Metotlar (Fonksiyonlar) ve Parametreler C# programlama dilinde, metotlar (veya fonksiyonlar), belirli bir görevi yerine getiren kod bloklarıdır. Programlarımızın modüler, tekrar kullanılabilir ve okunabilir olmasını <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/" title="8. Metotlar (Fonksiyonlar) ve Parametreler">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/">8. Metotlar (Fonksiyonlar) ve Parametreler</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt=""/></figure>



<p></p>



<h1 class="wp-block-heading">8. Metotlar (Fonksiyonlar) ve Parametreler</h1>



<p>C# programlama dilinde, metotlar (veya fonksiyonlar), belirli bir görevi yerine getiren kod bloklarıdır. Programlarımızın modüler, tekrar kullanılabilir ve okunabilir olmasını sağlarlar. Bu makalede, C# dilinde metotların nasıl tanımlandığını, kullanıldığını ve parametrelerin nasıl işlendiğini ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">Metot Tanımlama</h2>



<p>Bir metot, genel olarak aşağıdaki yapıya sahiptir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
döndürülecek_tip metot_adı(parametre_listesi)
{
    // Metot gövdesi - yapılacak işlemler
    return döndürülecek_değer; // Eğer döndürülecek_tip void değilse
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">döndürülecek_tip</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">metot_adı</span><span style="color: #D4D4D4">(parametre_listesi)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Metot gövdesi - yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">döndürülecek_değer</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Eğer döndürülecek_tip void değilse</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>döndürülecek_tip:</strong> Metodun geriye döndüreceği veri tipini belirtir. Eğer metot herhangi bir değer döndürmüyorsa, <code>void</code> olarak tanımlanır.</li>



<li><strong>metot_adı:</strong> Metoda verdiğimiz isimdir. Anlamlı ve açıklayıcı bir isim seçmek, kodun okunabilirliğini artırır.</li>



<li><strong>parametre_listesi:</strong> Metoda gönderilecek olan parametrelerin listesidir. Parametreler, metodun çalışması için gerekli olan girdileri sağlar. Parametreler veri tipi ve isimleriyle birlikte tanımlanır. Eğer metot parametre almıyorsa, parantezler boş bırakılır.</li>



<li><strong>Metot gövdesi:</strong> Metodun içindeki kod bloğudur. Burada, metodun gerçekleştireceği işlemler yer alır.</li>



<li><strong>return:</strong> Metodun geriye bir değer döndürmesini sağlar. Eğer metodun döndürülecek tipi <code>void</code> değilse, <code>return</code> ifadesi ile uygun tipte bir değer döndürülmelidir.</li>
</ul>



<h3 class="wp-block-heading">Örnek Metot Tanımları</h3>



<p>İşte birkaç örnek metot tanımı:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
// İki sayıyı toplayıp sonucu döndüren metot
int Topla(int sayi1, int sayi2)
{
    int toplam = sayi1 + sayi2;
    return toplam;
}

// Ekrana bir mesaj yazdıran metot (geriye değer döndürmüyor)
void MesajYaz(string mesaj)
{
    Console.WriteLine(mesaj);
}

// Parametre almayan ve geriye sabit bir değer döndüren metot
int SabitDegerDondur()
{
    return 42;
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #6A9955">// İki sayıyı toplayıp sonucu döndüren metot</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// Ekrana bir mesaj yazdıran metot (geriye değer döndürmüyor)</span></span>
<span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">mesaj</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// Parametre almayan ve geriye sabit bir değer döndüren metot</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">SabitDegerDondur</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">42</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Metot Çağırma (Kullanma)</h2>



<p>Bir metodu kullanmak için, metodun adını ve gerekli parametreleri (varsa) belirtmeniz gerekir. Metot çağrıldığında, metot içindeki kod bloğu çalıştırılır ve (eğer varsa) geriye bir değer döndürülür.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int sonuc = Topla(5, 3); // Topla metodunu çağır ve sonucu 'sonuc' değişkenine ata
MesajYaz(&quot;Merhaba Dünya!&quot;); // MesajYaz metodunu çağır ve ekrana mesaj yazdır
int sabit = SabitDegerDondur(); // SabitDegerDondur metodunu çağır ve sabit değeri 'sabit' değişkenine ata
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sonuc</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Topla metodunu çağır ve sonucu &#39;sonuc&#39; değişkenine ata</span></span>
<span class="line"><span style="color: #DCDCAA">MesajYaz</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba Dünya!&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// MesajYaz metodunu çağır ve ekrana mesaj yazdır</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sabit</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">SabitDegerDondur</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// SabitDegerDondur metodunu çağır ve sabit değeri &#39;sabit&#39; değişkenine ata</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Parametreler</h2>



<p>Metotlar, dışarıdan bilgi almak için parametreler kullanır. Parametreler, metodun daha esnek ve tekrar kullanılabilir olmasını sağlar. C# dilinde farklı parametre türleri bulunmaktadır.</p>



<h3 class="wp-block-heading">Değer Parametreler (Value Parameters)</h3>



<p>Değer parametreler, metodun çağrıldığı yerden metoda bir değerin kopyasını gönderir. Metot içinde yapılan değişiklikler, çağıran yerdeki değişkeni etkilemez.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
void DegerParametre(int sayi)
{
    sayi = sayi * 2;
    Console.WriteLine(&quot;Metot içinde sayi: &quot; + sayi); // Metot içinde sayi: 20
}

int anaSayi = 10;
DegerParametre(anaSayi);
Console.WriteLine(&quot;Ana metot içinde anaSayi: &quot; + anaSayi); // Ana metot içinde anaSayi: 10
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">DegerParametre</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> * </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Metot içinde sayi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Metot içinde sayi: 20</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #DCDCAA">DegerParametre</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ana metot içinde anaSayi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ana metot içinde anaSayi: 10</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Referans Parametreler (Reference Parameters)</h3>



<p>Referans parametreler, metoda bir değişkenin bellekteki adresini (referansını) gönderir. Metot içinde yapılan değişiklikler, çağıran yerdeki değişkeni doğrudan etkiler. Referans parametreler <code>ref</code> anahtar kelimesi ile belirtilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
void ReferansParametre(ref int sayi)
{
    sayi = sayi * 2;
    Console.WriteLine(&quot;Metot içinde sayi: &quot; + sayi); // Metot içinde sayi: 20
}

int anaSayi = 10;
ReferansParametre(ref anaSayi);
Console.WriteLine(&quot;Ana metot içinde anaSayi: &quot; + anaSayi); // Ana metot içinde anaSayi: 20
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">ReferansParametre</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">ref</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> * </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Metot içinde sayi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Metot içinde sayi: 20</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #DCDCAA">ReferansParametre</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">ref</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ana metot içinde anaSayi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ana metot içinde anaSayi: 20</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Çıkış Parametreleri (Output Parameters)</h3>



<p>Çıkış parametreleri, metottan birden fazla değer döndürmek için kullanılır. Çıkış parametreleri de referans gibi çalışır, ancak metoda gönderilmeden önce değer atanması zorunlu değildir. Çıkış parametreler <code>out</code> anahtar kelimesi ile belirtilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
void CikisParametre(int sayi, out int kare, out int kup)
{
    kare = sayi * sayi;
    kup = sayi * sayi * sayi;
}

int anaSayi = 5;
int kareSonucu, kupSonucu;
CikisParametre(anaSayi, out kareSonucu, out kupSonucu);
Console.WriteLine(&quot;Karesi: &quot; + kareSonucu + &quot;, Küpü: &quot; + kupSonucu); // Karesi: 25, Küpü: 125
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">CikisParametre</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">out</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kare</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">out</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kup</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">kare</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">kup</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kareSonucu</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">kupSonucu</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #DCDCAA">CikisParametre</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">anaSayi</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">out</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kareSonucu</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">out</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">kupSonucu</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Karesi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">kareSonucu</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot;, Küpü: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">kupSonucu</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Karesi: 25, Küpü: 125</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Parametre Dizileri (Parameter Arrays)</h3>



<p>Parametre dizileri, bir metoda değişken sayıda aynı tipte parametre göndermek için kullanılır. Parametre dizileri <code>params</code> anahtar kelimesi ile belirtilir ve metodun parametre listesinde son parametre olmalıdır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int ToplaParams(params int[] sayilar)
{
    int toplam = 0;
    foreach (int sayi in sayilar)
    {
        toplam += sayi;
    }
    return toplam;
}

int toplam1 = ToplaParams(1, 2, 3); // toplam1 = 6
int toplam2 = ToplaParams(1, 2, 3, 4, 5); // toplam2 = 15
Console.WriteLine(&quot;Toplam 1: &quot; + toplam1 + &quot;, Toplam 2: &quot; + toplam2);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">ToplaParams</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">params</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">foreach</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">in</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4"> += </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam1</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">ToplaParams</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// toplam1 = 6</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam2</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">ToplaParams</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// toplam2 = 15</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Toplam 1: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">toplam1</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot;, Toplam 2: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">toplam2</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Metot Aşırı Yüklemesi (Method Overloading)</h2>



<p>C# dilinde, aynı isimde birden fazla metot tanımlanabilir. Bu duruma metot aşırı yüklemesi denir. Metotların aynı isme sahip olabilmesi için, parametre listelerinin farklı olması gerekir (parametre sayısı, veri tipi veya sırası farklı olabilir).</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int Topla(int sayi1, int sayi2)
{
    return sayi1 + sayi2;
}

double Topla(double sayi1, double sayi2)
{
    return sayi1 + sayi2;
}

int toplamInt = Topla(5, 3); // int Topla metodu çağrılır
double toplamDouble = Topla(5.5, 3.2); // double Topla metodu çağrılır
Console.WriteLine(&quot;Integer Toplam: &quot; + toplamInt + &quot;, Double Toplam: &quot; + toplamDouble);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">double</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplamInt</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// int Topla metodu çağrılır</span></span>
<span class="line"><span style="color: #569CD6">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplamDouble</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">5.5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3.2</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// double Topla metodu çağrılır</span></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Integer Toplam: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">toplamInt</span><span style="color: #D4D4D4"> + </span><span style="color: #CE9178">&quot;, Double Toplam: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">toplamDouble</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Metotlar, C# programlama dilinde kodun modülerliğini, tekrar kullanılabilirliğini ve okunabilirliğini artıran temel yapı taşlarıdır. Farklı parametre türleri ve metot aşırı yüklemesi gibi özellikler, metotların esnekliğini ve gücünü artırır. Bu makalede öğrendiğiniz bilgilerle, C# projelerinizde daha etkili ve düzenli metotlar oluşturabilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/">8. Metotlar (Fonksiyonlar) ve Parametreler</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/8-metotlar-fonksiyonlar-ve-parametreler-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7. Döngüler (for, while, do-while, foreach)</title>
		<link>https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/</link>
					<comments>https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 05 May 2025 10:42:38 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Döngüler]]></category>
		<category><![CDATA[for döngüsü]]></category>
		<category><![CDATA[foreach döngüsü]]></category>
		<category><![CDATA[while döngüsü]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=582</guid>

					<description><![CDATA[<p>7. Döngüler (for, while, do-while, foreach) C# programlama dilinde döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmak için kullanılan temel kontrol yapılarıdır. Bu yapılar, bir <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/" title="7. Döngüler (for, while, do-while, foreach)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/">7. Döngüler (for, while, do-while, foreach)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">7. Döngüler (for, while, do-while, foreach)</h1>



<p>C# programlama dilinde döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmak için kullanılan temel kontrol yapılarıdır. Bu yapılar, bir koşul sağlandığı sürece veya bir koleksiyonun tüm elemanları üzerinde işlem yapılana kadar kodun tekrarlanmasını sağlar. C#, geliştiricilere farklı ihtiyaçlara uygun çeşitli döngü türleri sunar: <code>for</code>, <code>while</code>, <code>do-while</code> ve <code>foreach</code>.</p>



<h2 class="wp-block-heading">Döngülerin Önemi</h2>



<p>Döngüler, programlamada tekrar eden işlemleri otomatikleştirmek ve karmaşık algoritmaları uygulamak için vazgeçilmezdir. Veri işleme, hesaplama, kullanıcı arayüzü oluşturma gibi birçok alanda kullanılırlar. Döngüler sayesinde, aynı kodu birden çok kez yazmak yerine, döngü mekanizması sayesinde bu işlemler otomatik olarak gerçekleştirilir. Bu da kodun daha okunabilir, sürdürülebilir ve hatasız olmasını sağlar.</p>



<h2 class="wp-block-heading"><code>for</code> Döngüsü</h2>



<p><code>for</code> döngüsü, belirli bir sayıda tekrar yapılması gereken durumlarda kullanılır. Genellikle bir sayaç değişkeni ile birlikte kullanılır ve döngünün kaç kez çalışacağını önceden belirlemek için idealdir.</p>



<h3 class="wp-block-heading"><code>for</code> Döngüsünün Yapısı</h3>



<p><code>for</code> döngüsünün genel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="for (başlangıç; koşul; artış/azalış) {
    // Tekrarlanacak kod bloğu
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (başlangıç; </span><span style="color: #9CDCFE">koşul</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">artış</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">azalış</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #6A9955">    // Tekrarlanacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>Başlangıç:</strong> Döngü başlamadan önce bir sayaç değişkeni tanımlanır ve ilk değeri atanır.</li>



<li><strong>Koşul:</strong> Döngünün devam edip etmeyeceğini belirleyen bir mantıksal ifadedir. Koşul doğru (<code>true</code>) olduğu sürece döngü çalışmaya devam eder.</li>



<li><strong>Artış/Azalış:</strong> Her döngü adımında sayaç değişkeninin değeri artırılır veya azaltılır. Bu, döngünün sonlanmasını sağlar.</li>
</ul>



<h3 class="wp-block-heading"><code>for</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, 1&#8217;den 10&#8217;a kadar olan sayıları ekrana yazdırır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="for (int i = 1; i <= 10; i++) {
    Console.WriteLine(i);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> &lt;= </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">; </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">++) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu kodda, <code>i</code> değişkeni 1&#8217;den başlar ve her adımda 1 artar. Döngü, <code>i</code> değeri 10&#8217;dan küçük veya eşit olduğu sürece devam eder. Her adımda <code>i</code> değeri ekrana yazdırılır.</p>



<h2 class="wp-block-heading"><code>while</code> Döngüsü</h2>



<p><code>while</code> döngüsü, belirli bir koşul sağlandığı sürece bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır. Koşul, döngünün başında kontrol edilir. Eğer koşul başlangıçta yanlış (<code>false</code>) ise, döngü hiç çalışmaz.</p>



<h3 class="wp-block-heading"><code>while</code> Döngüsünün Yapısı</h3>



<p><code>while</code> döngüsünün genel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="while (koşul) {
    // Tekrarlanacak kod bloğu
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">koşul</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #6A9955">    // Tekrarlanacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>Koşul:</strong> Döngünün devam edip etmeyeceğini belirleyen bir mantıksal ifadedir. Koşul doğru (<code>true</code>) olduğu sürece döngü çalışmaya devam eder.</li>
</ul>



<h3 class="wp-block-heading"><code>while</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, kullanıcının girdiği sayı 0&#8217;dan farklı olduğu sürece sayıları toplamaya devam eder:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="int toplam = 0;
int sayi = 1;

while (sayi != 0) {
    Console.Write(&quot;Bir sayı girin (0 çıkış): &quot;);
    sayi = int.Parse(Console.ReadLine());
    toplam += sayi;
}

Console.WriteLine(&quot;Toplam: &quot; + toplam);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> != </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Write</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bir sayı girin (0 çıkış): &quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">int</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Parse</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ReadLine</span><span style="color: #D4D4D4">());</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4"> += </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Toplam: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">toplam</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu kodda, döngü <code>sayi</code> değişkeni 0&#8217;dan farklı olduğu sürece devam eder. Kullanıcıdan bir sayı alınır ve <code>toplam</code> değişkenine eklenir. Kullanıcı 0 girdiğinde döngü sona erer ve toplam ekrana yazdırılır.</p>



<h2 class="wp-block-heading"><code>do-while</code> Döngüsü</h2>



<p><code>do-while</code> döngüsü, <code>while</code> döngüsüne benzer, ancak koşul döngünün sonunda kontrol edilir. Bu, döngünün en az bir kez çalışmasını garanti eder.</p>



<h3 class="wp-block-heading"><code>do-while</code> Döngüsünün Yapısı</h3>



<p><code>do-while</code> döngüsünün genel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="do {
    // Tekrarlanacak kod bloğu
} while (koşul);" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">do</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #6A9955">    // Tekrarlanacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">} </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">koşul</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>Koşul:</strong> Döngünün devam edip etmeyeceğini belirleyen bir mantıksal ifadedir. Koşul doğru (<code>true</code>) olduğu sürece döngü çalışmaya devam eder.</li>
</ul>



<h3 class="wp-block-heading"><code>do-while</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, kullanıcıdan geçerli bir şifre girmesini ister ve şifre doğru olana kadar tekrar sorar:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="string sifre;
do {
    Console.Write(&quot;Şifreyi girin: &quot;);
    sifre = Console.ReadLine();
} while (sifre != &quot;gizli&quot;);

Console.WriteLine(&quot;Şifre doğru!&quot;);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sifre</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">do</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Write</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Şifreyi girin: &quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">sifre</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ReadLine</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">} </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sifre</span><span style="color: #D4D4D4"> != </span><span style="color: #CE9178">&quot;gizli&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Şifre doğru!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu kodda, döngü en az bir kez çalışır ve kullanıcıdan bir şifre girmesi istenir. Girilen şifre &#8220;gizli&#8221; değilse, döngü tekrar başlar ve kullanıcıdan tekrar şifre girmesi istenir. Şifre doğru girildiğinde döngü sona erer.</p>



<h2 class="wp-block-heading"><code>foreach</code> Döngüsü</h2>



<p><code>foreach</code> döngüsü, bir koleksiyonun (dizi, liste, vb.) tüm elemanları üzerinde işlem yapmak için kullanılır. Bu döngü, koleksiyonun her bir elemanı için kod bloğunu otomatik olarak çalıştırır.</p>



<h3 class="wp-block-heading"><code>foreach</code> Döngüsünün Yapısı</h3>



<p><code>foreach</code> döngüsünün genel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="foreach (veri_tipi değişken in koleksiyon) {
    // Tekrarlanacak kod bloğu
}" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">foreach</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">veri_tipi</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">değişken</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">in</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">koleksiyon</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #6A9955">    // Tekrarlanacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>Veri Tipi:</strong> Koleksiyondaki elemanların veri tipini belirtir.</li>



<li><strong>Değişken:</strong> Koleksiyondaki her bir elemanı temsil eden bir değişkendir.</li>



<li><strong>Koleksiyon:</strong> Üzerinde işlem yapılacak olan koleksiyon (dizi, liste, vb.).</li>
</ul>



<h3 class="wp-block-heading"><code>foreach</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, bir dizideki tüm sayıları ekrana yazdırır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="int[] sayilar = { 1, 2, 3, 4, 5 };

foreach (int sayi in sayilar) {
    Console.WriteLine(sayi);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = { </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4"> };</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">foreach</span><span style="color: #D4D4D4"> (</span><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">in</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu kodda, <code>sayilar</code> dizisindeki her bir sayı <code>sayi</code> değişkenine atanır ve ekrana yazdırılır. Döngü, dizinin tüm elemanları üzerinde işlem yapana kadar devam eder.</p>



<h2 class="wp-block-heading">Döngülerde Dikkat Edilmesi Gerekenler</h2>



<ul class="wp-block-list">
<li><strong>Sonsuz Döngülerden Kaçının:</strong> Döngü koşulunun hiçbir zaman <code>false</code> olmaması durumunda, döngü sonsuza kadar çalışır. Bu durumu önlemek için koşulun doğru bir şekilde tanımlandığından ve döngü içinde koşulu etkileyen bir değişiklik yapıldığından emin olun.</li>



<li><strong>Performansı Göz Önünde Bulundurun:</strong> Özellikle büyük veri kümeleri üzerinde çalışan döngülerde, performans önemlidir. Gereksiz işlemleri döngü dışına taşıyarak ve uygun veri yapılarını kullanarak performansı artırabilirsiniz.</li>



<li><strong>Okunabilirliği Artırın:</strong> Döngülerin içindeki kodun okunabilir ve anlaşılır olması, kodun bakımını ve hataların giderilmesini kolaylaştırır. Anlamlı değişken isimleri kullanın ve karmaşık işlemleri daha küçük parçalara ayırın.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Döngüler, programlamanın temel yapı taşlarından biridir. İyi tasarlanmış döngüler, karmaşık problemleri çözmek ve verimli çözümler üretmek için güçlü bir araçtır.&#8221; &#8211; Bilgisayar Bilimi Uzmanı</p>
</blockquote>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# programlama dilinde <code>for</code>, <code>while</code>, <code>do-while</code> ve <code>foreach</code> döngüleri, farklı ihtiyaçlara uygun esnek ve güçlü araçlar sunar. Bu döngülerin doğru kullanımı, kodun daha verimli, okunabilir ve sürdürülebilir olmasını sağlar. Döngülerin yapısını ve kullanım senaryolarını iyi anlamak, başarılı bir C# geliştiricisi olmak için önemlidir.</p>
<p><a href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/">7. Döngüler (for, while, do-while, foreach)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>6. Koşullu İfadeler (if-else, switch-case)</title>
		<link>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/</link>
					<comments>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 05 May 2025 10:40:24 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[if-else]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[switch-case]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=581</guid>

					<description><![CDATA[<p>C# Programlama Dilinde Koşullu İfadeler (if-else, switch-case) C# programlama dilinde, programların akışını kontrol etmek ve farklı durumlara göre farklı işlemler gerçekleştirmek için koşullu ifadeler kullanılır. <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/" title="6. Koşullu İfadeler (if-else, switch-case)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/">6. Koşullu İfadeler (if-else, switch-case)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">C# Programlama Dilinde Koşullu İfadeler (if-else, switch-case)</h1>



<p>C# programlama dilinde, programların akışını kontrol etmek ve farklı durumlara göre farklı işlemler gerçekleştirmek için <strong>koşullu ifadeler</strong> kullanılır. Bu ifadeler, programın karar verme yeteneğini artırır ve daha karmaşık ve esnek uygulamalar geliştirmeyi mümkün kılar. En sık kullanılan koşullu ifadeler <code>if-else</code> ve <code>switch-case</code> yapısıdır. Bu makalede, bu yapıları detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">if-else İfadeleri</h2>



<p><code>if-else</code> ifadesi, bir koşulun doğru (<code>true</code>) veya yanlış (<code>false</code>) olmasına göre farklı kod bloklarını çalıştırmak için kullanılır. Temel sözdizimi şu şekildedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
if (koşul)
{
    // Koşul doğru ise çalışacak kod bloğu
}
else
{
    // Koşul yanlış ise çalışacak kod bloğu
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">koşul</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Koşul doğru ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Koşul yanlış ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Burada <code>koşul</code>, bir boolean ifade olmalıdır. Eğer koşul doğru ise, <code>if</code> bloğu içindeki kod çalışır; aksi takdirde, eğer varsa <code>else</code> bloğu içindeki kod çalışır.</p>



<h3 class="wp-block-heading">if İfadesi</h3>



<p>Sadece bir koşulun doğruluğunu kontrol etmek ve eğer doğruysa bir kod bloğunu çalıştırmak istiyorsak, sadece <code>if</code> ifadesini kullanabiliriz. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int sayi = 10;
if (sayi &gt; 0)
{
    Console.WriteLine(&quot;Sayı pozitiftir.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı pozitiftir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>sayi</code> değişkeninin değeri 0&#8217;dan büyükse, ekrana &#8220;Sayı pozitiftir.&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">else İfadesi</h3>



<p>Bir koşulun yanlış olması durumunda da bir işlem yapmak istiyorsak, <code>else</code> ifadesini kullanırız. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int sayi = -5;
if (sayi &gt; 0)
{
    Console.WriteLine(&quot;Sayı pozitiftir.&quot;);
}
else
{
    Console.WriteLine(&quot;Sayı negatif veya sıfırdır.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = -</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı pozitiftir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı negatif veya sıfırdır.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>sayi</code> değişkeninin değeri 0&#8217;dan büyük değilse, ekrana &#8220;Sayı negatif veya sıfırdır.&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">else if İfadesi</h3>



<p>Birden fazla koşulu kontrol etmek ve farklı koşullara göre farklı işlemler yapmak istiyorsak, <code>else if</code> ifadesini kullanırız. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int not = 75;

if (not &gt;= 90)
{
    Console.WriteLine(&quot;A&quot;);
}
else if (not &gt;= 80)
{
    Console.WriteLine(&quot;B&quot;);
}
else if (not &gt;= 70)
{
    Console.WriteLine(&quot;C&quot;);
}
else if (not &gt;= 60)
{
    Console.WriteLine(&quot;D&quot;);
}
else
{
    Console.WriteLine(&quot;F&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">75</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">90</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;A&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">80</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;B&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">70</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">60</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;D&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;F&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>not</code> değişkeninin değerine göre farklı notlar (A, B, C, D, F) ekrana yazdırılır. <code>else if</code> zinciri, yukarıdan aşağıya doğru koşulları kontrol eder ve ilk doğru olan koşulun bloğunu çalıştırır. Eğer hiçbir koşul doğru değilse, en sondaki <code>else</code> bloğu çalışır.</p>



<h2 class="wp-block-heading">switch-case İfadesi</h2>



<p><code>switch-case</code> ifadesi, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Özellikle, bir değişkenin birden fazla olası değeri olduğunda ve her bir değer için farklı bir işlem yapmak gerektiğinde kullanışlıdır. Temel sözdizimi şu şekildedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
switch (değişken)
{
    case değer1:
        // değişken değeri değer1 ise çalışacak kod bloğu
        break;
    case değer2:
        // değişken değeri değer2 ise çalışacak kod bloğu
        break;
    ...
    default:
        // değişken değeri hiçbir case ile eşleşmezse çalışacak kod bloğu
        break;
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">değişken</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">değer1</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri değer1 ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">değer2</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri değer2 ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    ...</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri hiçbir case ile eşleşmezse çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Burada <code>değişken</code>, bir ifade veya değişken olabilir. <code>case</code> etiketleri, değişkenin olası değerlerini temsil eder. Eğer değişkenin değeri bir <code>case</code> etiketiyle eşleşirse, o <code>case</code> bloğu içindeki kod çalışır. <code>break</code> ifadesi, <code>switch</code> ifadesinden çıkılmasını sağlar. Eğer <code>break</code> ifadesi kullanılmazsa, eşleşen <code>case</code> bloğundan sonraki <code>case</code> blokları da çalıştırılır (fall-through). <code>default</code> etiketi, değişkenin değeri hiçbir <code>case</code> etiketiyle eşleşmezse çalışacak olan kod bloğunu belirtir.</p>



<p>Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int gun = 3;
string gunAdi;

switch (gun)
{
    case 1:
        gunAdi = &quot;Pazartesi&quot;;
        break;
    case 2:
        gunAdi = &quot;Salı&quot;;
        break;
    case 3:
        gunAdi = &quot;Çarşamba&quot;;
        break;
    case 4:
        gunAdi = &quot;Perşembe&quot;;
        break;
    case 5:
        gunAdi = &quot;Cuma&quot;;
        break;
    case 6:
        gunAdi = &quot;Cumartesi&quot;;
        break;
    case 7:
        gunAdi = &quot;Pazar&quot;;
        break;
    default:
        gunAdi = &quot;Geçersiz gün numarası&quot;;
        break;
}

Console.WriteLine(&quot;Gün: &quot; + gunAdi);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gun</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">gun</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Pazartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Salı&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Çarşamba&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Perşembe&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Cuma&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">6</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Cumartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Pazar&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Geçersiz gün numarası&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Gün: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>gun</code> değişkeninin değerine göre haftanın gün adı belirlenir ve ekrana yazdırılır. Eğer <code>gun</code> değişkeninin değeri 1 ile 7 arasında değilse, <code>default</code> bloğu çalışır ve ekrana &#8220;Geçersiz gün numarası&#8221; yazdırılır.</p>



<h2 class="wp-block-heading">Koşullu İfadelerin Önemi</h2>



<p>Koşullu ifadeler, programlama dillerinin temel yapı taşlarından biridir ve programların karar verme yeteneğini sağlar. Bu sayede, programlar farklı durumlara uyum sağlayabilir, kullanıcı girdilerine göre farklı işlemler gerçekleştirebilir ve daha karmaşık algoritmalar uygulayabilir. <code>if-else</code> ve <code>switch-case</code> ifadeleri, C# programlama dilinde en sık kullanılan koşullu ifadelerdir ve programların akışını kontrol etmek için vazgeçilmez araçlardır.</p>



<p>Doğru ve etkili koşullu ifadeler kullanarak, daha okunabilir, bakımı kolay ve hatasız kodlar yazabilirsiniz. Bu nedenle, koşullu ifadelerin kullanımını iyi anlamak ve pratik yapmak, başarılı bir C# programcısı olmak için önemlidir.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Bu makalede, C# programlama dilinde kullanılan koşullu ifadelerden <code>if-else</code> ve <code>switch-case</code> yapılarını detaylı bir şekilde inceledik. Bu yapıların nasıl kullanıldığını, ne zaman tercih edildiğini ve programların akışını nasıl kontrol ettiğini öğrendik. Koşullu ifadeler, programlama becerilerinizi geliştirmenize ve daha karmaşık uygulamalar oluşturmanıza yardımcı olacaktır.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Koşullu ifadeler, programların karar verme mekanizmalarını oluşturur ve onları daha akıllı hale getirir.&#8221; &#8211; Bilge Programcı</p>
</blockquote>



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/">6. Koşullu İfadeler (if-else, switch-case)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
