Ana içeriğe atla

C# NOTLARIM

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace csharp

{

    internal class Program

    {

        static void Main(string[] args)

        {

            int sayi1 = 15;

            int sayi2 = 26;

            int toplam = sayi1 + sayi2;

            // bir alt satıra inme \n 'dir.

            Console.WriteLine("Birinci Sayı :{0}\nİkinci Sayı :{1}\nİki sayının toplamı :{2}\n",sayi1,sayi2,toplam);


            //MOD Alma : İki sayının bölümünden kalanı bulma

            

            int sayi3 = 5;

            int sayi4 = 2;

            int kalan = sayi3 % sayi4;

            Console.WriteLine("Sayılarrın bölümünden kalan : "+kalan);


            // sayının karekökünü bulma:

            // Karekök hesaplarken çıkacak sonucun int veya fload gibi değerlerini bilmediğimizden sonucu double olarak tanıttık.

            // matematik işlemleri için math kütüphanesi, karekök için Sqrt kullanıldı.

            double sayi5 = 5;

            double sonuc = Math.Sqrt(sayi5);

            Console.WriteLine("\nGirilen sayı:{0}\nGirilen sayının karekökü:{1}", sayi5, sonuc);


            Console.ReadLine();

        }

        

    }

}


=========================================================================


static void nedir neden kullanılır?
ChatGPT:
ChatGPT

static void terimi, genellikle C, C++, C# ve Java gibi programlama dillerinde karşımıza çıkar. İki anahtar kelimenin birleşiminden oluşur: static ve void. Bu ikisinin birlikte kullanımı bir fonksiyonun veya metodun belirli özelliklerini ifade eder.

  1. static anahtar kelimesi:

    • Fonksiyonlarda/metodlarda: static anahtar kelimesi, bir fonksiyonun/metodun sınıf düzeyinde tanımlandığını ve sınıfın bir örneği (instance) olmadan çağrılabileceğini ifade eder. Yani, sınıfa ait tüm nesneler bu metoda doğrudan erişebilir. Sınıfın bir örneği oluşturulmadan çağrılabilen bir fonksiyondur.
    • Değişkenlerde: static, bir değişkenin ömrü programın çalışma süresi boyunca devam ettiğini ve tüm örnekler için aynı değere sahip olduğunu belirtir. Bu değişken bir kez oluşturulur ve tüm sınıf örnekleri tarafından paylaşılır.
  2. void anahtar kelimesi:

    • void, bir fonksiyonun/metodun dönüş tipi olmadığını (yani geriye bir değer döndürmediğini) belirtir. Fonksiyonun sonunda herhangi bir değer döndürmeyeceği anlamına gelir.

static void neden kullanılır?

  • Bellek verimliliği: static fonksiyonlar/metodlar nesneye bağlı olmadığından, her bir nesne için ayrı bir fonksiyon kopyası tutulmasına gerek kalmaz. Bu bellek tasarrufu sağlar.
  • Sınıfa bağlı fonksiyonlar: Eğer bir fonksiyonun yalnızca sınıfa ait bir işlevi varsa ve nesneye bağımlı olmadan çalışması gerekiyorsa, bu fonksiyonun static olarak tanımlanması uygun olur. Örneğin, bir yardımcı (utility) fonksiyon ya da genel amaçlı bir işlem gerçekleştiren fonksiyonlar static olabilir.
  • Geriye değer döndürmeyen işlemler: Eğer bir işlem sonucunda sadece bir aksiyon alınacak ve herhangi bir veri döndürülmeyecekse, void kullanmak uygundur.

Açıklama:

  • static void PrintSum(int a, int b): Bu metod, iki sayının toplamını ekrana yazdıran bir fonksiyondur. static olduğu için, sınıfın örneği oluşturulmadan doğrudan çağrılabilir. void ise bu metodun herhangi bir değer döndürmediğini belirtir.

  • Main metodu: Programın başlangıç noktasıdır. Burada PrintSum metodunu doğrudan sınıf adı belirtmeden çağırabiliyoruz çünkü PrintSum statik bir metod.


Bu kodda PrintSum(10, 20) çağrısı, 10 ve 20 değerlerini toplar ve ekrana "Toplam: 30" yazdırır. Metot void olduğu için sonuç döndürmez, sadece ekrana yazar.

Bu tür static metotlar genellikle yardımcı (utility) fonksiyonlar yazarken kullanılır.

Şunu dedin:
public static void nedir neden kullanılır
ChatGPT:
ChatGPT

C# dilinde public static void, bir metodu tanımlarken kullanılan üç anahtar kelimenin birleşiminden oluşur ve bu metodun erişim seviyesi, örneğe bağlı olup olmadığı ve geri dönüş değeri hakkında bilgi verir.

public static void Nedir?

  1. public:

    • Erişim belirleyicisidir. Bir metodun veya değişkenin hangi sınıflardan ya da nesnelerden erişilebileceğini belirler.
    • public bir metot veya değişken, bulunduğu sınıfın dışından (diğer sınıflar veya programın başka bölümleri tarafından) doğrudan erişilebilir.
  2. static:

    • Metodun sınıfa ait olduğunu belirtir. Yani, bu metot, sınıfın bir örneği (nesnesi) oluşturulmadan kullanılabilir.
    • Sınıfa bağlıdır, nesneye bağlı değildir. Başka bir deyişle, bu metot yalnızca sınıfın kendisiyle ilgilidir ve nesne durumlarıyla çalışmaz.
  3. void:

    • Metodun geri dönüş tipidir. void, metodun bir sonuç döndürmediğini gösterir. Yani, bu metot bir işlem gerçekleştirir fakat sonuç olarak bir değer üretmez.

public static void Neden Kullanılır?

  • Sınıf düzeyinde fonksiyonlar/metodlar: Eğer bir metodun sınıfın herhangi bir örneğine ihtiyaç duymadan, doğrudan sınıf üzerinden erişilmesi gerekiyorsa static yapılması uygundur. Bu, genellikle sınıfa ait olan veya yardımcı işlevler sağlayan metotlarda kullanılır.
  • Her yerden erişim: public erişim belirleyicisi, bu metodun projede herhangi bir yerden kullanılabilmesini sağlar.
  • Sonuç döndürmeyen işlemler: Eğer metodun sonucunda bir veri döndürülmeyecekse, sadece bir işlem yapıp bu işlem sonucunu döndürmeye ihtiyaç duyulmuyorsa void kullanılır.

Örnek

Aşağıdaki örnekte, iki sayıyı toplayan ve sonucu ekrana yazdıran bir public static void metodu bulunuyor.


=================================================================

using System;


class MathUtils

{

    // public: Her yerden erişilebilir

    // static: Sınıfın örneği oluşturulmadan çağrılabilir

    // void: Geriye bir değer döndürmez, sadece işlem yapar

    public static void PrintSum(int a, int b)

    {

        int sum = a + b;

        Console.WriteLine("Toplam: " + sum);

    }

}


class Program

{

    static void Main(string[] args)

    {

        // Sınıfın bir örneğini oluşturmadan doğrudan statik metodu çağırabiliyoruz

        MathUtils.PrintSum(15, 25);

    }

}

======================================================================



Önemli Noktalar:

  • Erişim: PrintSum metodunun public olması, bu metodun başka sınıflardan ya da programın diğer bölümlerinden rahatça çağrılabilmesini sağlar. Örneğin, MathUtils.PrintSum(15, 25) şeklinde başka bir sınıftan çağrılabilir.
  • Statik olma durumu: static olması, bu metodun yalnızca MathUtils sınıfı üzerinden, yani sınıfın örneği olmadan kullanılabilmesini sağlar. MathUtils sınıfından bir nesne oluşturmadan PrintSum fonksiyonunu çağırabiliriz.
  • Değer döndürmemesi: void olması metodun sadece bir işlem yaptığını (bu durumda ekrana yazdırma işlemi) ve geriye herhangi bir sonuç döndürmediğini ifade eder.

public static void metodlar genellikle yardımcı sınıflarda sıkça kullanılır çünkü genel işlemler için sınıfın örneğiyle değil, sınıfın kendisiyle çalışmak daha pratiktir.






Yorumlar

Bu blogdaki popüler yayınlar

C# Delete

//using System.Data.SqlClient; //Yeni Güncelleme geldi //Araçlar>NuGet Paket Yöneticisi>Paket yöneticisi Konsole //Install-Package Microsoft.Data.SqlClient //Kodu Yapıştırdık //using System.Data.SqlClient;  Microsoft.Data.SqlClient şeklinde değiştir ve Sorun Çözüldü //Problem SqlConnection bağlantısının altı ve üzeri çizili idi yeni version 9 geldiği için yukarıdaki değişiklikler yapıldı using Microsoft.Data.SqlClient; namespace Update {     public partial class Form1 : Form     {         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True;TrustServerCertificate=True");         public Form1()         {             InitializeComponent();         }         //Güncelleme İşlemi         private void button1_Click(object sender, Even...

C# Forms ve ADO.NET ile SQL Server 2022'de SQLConnection bağlantısı ile INSERT İşlemi

// SQL bağlantı yolu için sistem paketinin yüklenmesi using System; using System.Data.SqlClient; using System.Windows.Forms; namespace VeriTabanıTestProjesi {     public partial class Form1 : Form     {         // SQL bağlantı nesnesinin tanımlanması         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True");         public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             // Veri Tabanında oluşabilecek hataların yakalanması             try             {                 // SQL bağlantısının a...

Microsoft.Data.SqlClient Örnek VeriTabanı

using System; using System.Data; using Microsoft.Data.SqlClient;//Install-Package Microsoft.Data.SqlClient using System.Windows.Forms; namespace Sql_Try {     public partial class Form1 : Form     {         SqlConnection sqlVT = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL;Initial Catalog=My_Form;Integrated Security=True;Encrypt=True;Trust Server Certificate=True");         public Form1()         {             InitializeComponent();         }         private void button2_Click(object sender, EventArgs e)         {             Application.Exit();         }         private void button1_Click(object sender, EventArgs e)         {             string Name = textBox_isim.Text;         ...