//C# programlama dilinde fonksiyonlar, belirli bir görevi yerine getiren ve tekrar tekrar kullanılabilen kod bloklarıdır. Fonksiyonlar, programınızı modüler hale getirmek, kodu daha okunabilir, sürdürülebilir ve yönetilebilir hale getirmek için kullanılır. /*using System; class Program { static void Main(string[] args) { ToplamaYap(5, 22); Fonksiyon(); } static void ToplamaYap(int sayi1, int sayi2) { int toplam = sayi1 + sayi2; Console.WriteLine("Toplam: " + toplam); } static void Fonksiyon() { int globalDegisken = 10; Console.WriteLine("Global değişkenin değeri: " + globalDegisken); } }*/ //Yukarıdaki örnekte, Fonksiyon adında bir fonksiyon oluşturuldu ve Main metodunda hem ToplamaYap fonksiyonu hem de Fonksiyon fonksiyonu çağrıldı. /*using System; class Program { static void Main(string[] args) { int sayi1 = 5; int sayi2 = 3; int toplam = ToplamaYap(sayi1, sayi2); Console.WriteLine("Toplam: " + toplam); int carpim = CarpmaYap(sayi1, sayi2); Console.WriteLine("Çarpım: " + carpim); } static int ToplamaYap(int sayi1, int sayi2) { int toplam = sayi1 + sayi2; return toplam; } static int CarpmaYap(int sayi1, int sayi2) { int carpim = sayi1 * sayi2; return carpim; } }*/ //Yukarıdaki örnekte, ToplamaYap ve CarpmaYap adında iki farklı fonksiyon tanımlanmıştır. Her iki fonksiyon da iki adet int türünde parametre alır. ToplamaYap fonksiyonu, aldığı parametrelerin toplamını hesaplar ve sonucu geri döndürür. CarpmaYap fonksiyonu ise aldığı parametrelerin çarpımını hesaplar ve sonucu geri döndürür.Ana Main fonksiyonunda, sayi1 ve sayi2 adında iki değişken tanımlanır ve bu değişkenler ToplamaYap ve CarpmaYap fonksiyonlarına parametre olarak geçilir. Fonksiyonlar tarafından hesaplanan sonuçlar ekrana yazdırılır.Bu örnekte, fonksiyonlara parametre tanımlayarak farklı değerlerle çalışmalarını sağlayabilir ve daha genel amaçlı fonksiyonlar oluşturabilirsiniz. using System; class Program { static void Main(string[] args) { Console.WriteLine("Faktöriyelini hesaplamak için bir sayı girin:"); int sayi = Convert.ToInt32(Console.ReadLine()); long faktoriyel = FaktoriyelHesapla(sayi); Console.WriteLine("Girilen sayının faktöriyeli: " + faktoriyel); } static long FaktoriyelHesapla(int sayi) { if (sayi == 0) { return 1; } else { return sayi * FaktoriyelHesapla(sayi - 1); } } } //Yukarıdaki örnekte, FaktoriyelHesapla adında bir fonksiyon tanımlanmıştır. Bu fonksiyon, bir sayının faktöriyelini hesaplamak için kullanılır. sayi adında bir parametre alır ve faktöriyel hesaplaması için özyinelemeli (recursive) bir yapı kullanır.Fonksiyon, özyineleme (recursion) prensibiyle çalışır. Eğer sayi 0 ise, faktöriyel değeri 1 olarak kabul edilir. Eğer sayi sıfırdan farklı ise, faktöriyel değeri sayi ile (sayi - 1)'in faktöriyelini hesaplamak için FaktoriyelHesapla fonksiyonunu tekrar çağırır. Bu işlem, sayi değeri 0'a ulaşana kadar tekrarlanır.