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

FOREGIN KEY ve INNER JOIN ile ilişkili tablo oluşturma Örneği

--1)DataBase oluşturma Sorgusu --CREATE DATABASE Join_Alistirma; --GO --USE Join_Alistirma; --GO --2)musteri Tablosu oluşturma --CREATE TABLE musteri ( --    musteri_ID INT IDENTITY(1,1) PRIMARY KEY, --    adi_soyadi NVARCHAR(100) NOT NULL, --    telefon NVARCHAR(20) NOT NULL --); ---3)araclar Tablosunu Oluştur (FOREIGN KEY ile) --CREATE TABLE araclar ( --    id INT IDENTITY(1,1) PRIMARY KEY, --    musteri_ID INT NOT NULL, --    plaka NVARCHAR(20) NOT NULL, --    marka NVARCHAR(50), --    model NVARCHAR(50), --    yil INT, --    FOREIGN KEY (musteri_ID) REFERENCES musteri(musteri_ID) --); ----------------------------------------------------------------------------- ----NOT  --musteri_ID → musteri tablosuyla bağlantılı olacak. --plaka, marka, model, yil alanları araç bilgilerini tutacak. ----------------------------------------------------------------------------- ---4)Tablolara muste...

İD ye göre işlemler C# ve Class örnekleri ile Birlikte

***************************************************************************** ✅ DbHelper.cs adında bir sınıf ile Insert , Update , Delete , GetId , SelectAll işlemlerini kolayca yapabilirsiniz. ✅ SCOPE_IDENTITY() kullanarak son eklenen kaydın ID’sini çekme örneği var. ✅ Bu ID’yi Label veya TextBox ’a yazdırabilir, Update veya Delete için tekrar kullanabilirsiniz. ✅ DataGridView ile tüm verileri listeleme örneği de dahil. *****************************************************************************  // ✅ DbHelper.cs using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; public static class DbHelper {     private static string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=YourDatabase;Integrated Security=True";     public static object InsertAndGetId(string query, Dictionary<string, string> parameters)     {         using (SqlConnection connection = new SqlConne...

INNER JOIN Silme İşleminde REFERANCE Hatası

 SQL 'de INNER JOIN için ben diagram kullandım ama silme işlemleri için bu hataya yol açtı kodlar yazıldıktan sonra. Sillme işleminin yapıla bilmesi için : Diagram üzerinden "ON DELETE CASCADE" ekleme SSMS’te veritabanını aç. Database Diagrams → kullandığın diyagramı aç. isim tablosu ile soyisim tablosu arasındaki ilişki çizgisine çift tıkla . INSERT and UPDATE Specification bölümünü bul. Delete Rule → Cascade olarak değiştir. Kaydedip diyagramı kapat.   2️⃣ SQL komutuyla ekleme (manuel yöntem) Eğer diyagramdan uğraşmak istemiyorsan, SQL koduyla da ekleyebilirsin: ALTER TABLE Soyisim DROP CONSTRAINT FK_Soyisim_Isim;  -- Burada mevcut foreign key adını yazacaksın ALTER TABLE Soyisim ADD CONSTRAINT FK_Soyisim_Isim FOREIGN KEY (isim_Id) REFERENCES Isim(isim_Id) ON DELETE CASCADE; ON DELETE CASCADE tamamen silme işlemleri için tanımlanan bir FOREIGN KEY davranış kuralıdır. Normal FOREIGN KEY : Ana tabloda bir kayıt silmek istersen ve bu kayıt başka ...