28 Oca 2016

Visual Studio Designer.cs Yapısı ve Event Kavramı

Visual Studio, biz formun özelliklerini(text, name vs.) değiştirdikçe ve forma bileşen ekleme, çıkarma yaptıkça Designer.cs'de ki koda müdahale ediyor.(Visual Studio'nun ilk yıllarında designer dosyası buradaki gibi ayrı bir dosya değil Form1.cs içerisinde bulunuyormuş. Karmaşa ve kod kalabalığına engel olmak için bu yöntem benimsenmiş.) Böylece Visual Studio'nun oluşturduğu kod ile kendi yazdığımız kod karışmıyor.

27 Oca 2016

C#'ta Static Sınıfı

Bir değişken, özellik veya metodun sadece alınan kopyanın değil de bütün o oluşturulan tipin olması istenilen durumlarda tanımlama static ifadesi ile yapılarak bu sağlanabilir. Alınan kopyadan kasıt sınıf adı kullanılarak türetilen nesne'dir. Örnek:

Sınıf Yokedici (Destructor)

Destructor metotların özel bir yazım şekli bulunmaktadır;
public class Sinif
        {
            ~Sinif()
            {
                Console.WriteLine("Sinif yok edildi");
            }
        }
Her sınıf için 1 tane Destructor olabilir ve sınıf adından üretilen o kopya yok edildiğinde çalışır. private, public gibi erişim hakları verilmez. Ayrıca destructor'ler parametre de almaz. Kod için çağrılmaz, otomatik olarak çalışırlar.

Nesne Kurucusu (Constructor)

Sinif nesne = new Sinif();
Yukarıda Sinif adlı class'ı kullanarak nesne adlı bir nesne türettik. Bu kod satırı okunduğu anda eğer Sinif adlı class'ın içinde bir nesne kurucusu varsa o hiçbir komut beklemeden çalışacak ve içerisindeki işlemler yapılmaya başlanacaktır.

Sınıf Özellikleri (GET-SET Kullanımı)

Bir sınıfın içinde 3 farklı özellik tanımlanabilir. Bunu aşağıdaki örnek ile açıklayabiliriz;
public class AA
        {
            public int x;
            public int y { get; set; }
            private int _z;
            public int z
            {
                get
                {
                    return _z;
                }
                set
                {
                    _z = value;
                }
            }
        }

26 Oca 2016

Değişkenlerin Yaşam Döngüsü ve Class Kullanımı

C#'ta tanımladığınız herşey object sınıfından türer. int türündeki bir değişkeni aşağıdaki gibi de tanımlayabilirsiniz hatta böyle tanımlamasanız bile C# derleyicisi sizin için aşağıdaki kodu çalıştırır;
int x = new int();

C#'ta Constantlar(Sabitler)

Constant ifadeler değeri hiç değişmeyecek sabitler tanımlamak için kullanılır. Tanımlama şekli aşağıdaki gibidir;
const int TIMER_INTERVAL = 1000;
const string CONNECTION_STRING = "abc";
const char SPLIT_CHAR = '|';

C#'ta Metotlara Erişim

C#'ta tanımlanmış her sınıfa ve sınıf özelliklerine, diğer kodun içinde kullanılıp kullanılmayacağına göre erişim hakkı tanımlanabilir. Bu haklar;

  1. public: Sınıf veya sınıfın elemanına aynı assembly veya başka bir assembly'den erişilebilir
  2. internal: Sınıf veya sınıfın elemanına sadece aynı assembly içinde erişilebilir.
  3. private: Sınıf veya sınıfın elemanına sadece aynı sınıf içinden erişilebilir.
  4. protected: Sınıf veya sınıfın elemanına sadece aynı sınıf içinden ve bu sınıftan türemiş alt sınıflardan erişilebilir.

C#'ta Metot Overload, Opsiyonel Parametreler ve Params Kullanımı

Bir metodun proje içerisinde birden fazla kullanım şekli desteklemesi istenen durumlarda olabilir. Bu durumlarda overload'un yaşanmaması için metotlara gönderdiğimiz parametre sayılarının aynı olmamasına dikkat etmeliyiz. Yada metot veri tipini öncekinden farklı bir veri tipi olarak tanımlamalıyız.

25 Oca 2016

C#'ta REF ve OUT İfadeleri

Ana metot parçalandığında, ana metottaki değişkenlerin alt metotlarda aynen devam etmesi ve ana metoda dönüldüğünde değerlerini koruması istendiğinde ya da bir metottan birden fazla sonuç döndürmesi istendiğinde, ref ve out kullanılır.

Nesne Tabanlı Programlamaya Giriş - Metotlar ve Kullanım Şekilleri

1-Değer Döndürmeyen Metotlar
Bu tarz metotlar void olarak tanımlanır. Çağıran kişiye hiçbir değer göndermez. Sadece scope'lar arasında belirtilen işlem gerçekleşir. Parametre alabilir ya da almaz. Kullanım kalıbı;
void MetotIsmi(veriTipi1 parametre1, veriTipi2 parametre2,...)
{
    ifade;
}

22 Oca 2016

C#'ta Döngüler

1-For Döngüsü
for(başlangıç, koşul, iteratör)
{
            ifade;
}

Başlangıç yerine döngüde kullanılacak olan değişkenin başlangıç değeri yazılır. Genellikle bu değişken i olarak kullanılır ve döngünün içinde tanımlanır(int i).

21 Oca 2016

C#'da Koşul İfadeleri

? OPERATÖRÜ
? operatöründen sonraki ilk kısım koşul doğru olduğunda çalışacak kısımdır. 2. kısım ise koşul yanlış olduğunda çalışır. Hiçbir zaman ifadenin true ve false bölümleri aynı anda çalışmaz. İfade ya doğru ya yanlıştır.
string name = "Gökalp";
name = name.Length == 6 ? name + "Soyad" : name + "Soyad";
Console.WriteLine(name);

C#'da Operatörler

AÇIKLAMALAR(COMMENT)
C# içinde 2 tip açıklama yazım şekli vardır;
  • Tek satırlı açıklama yazmak için // kullanılır
  • Açıklama birden çok satıra yazılacak ise /* ve */ karakterleri içine yazılmalıdır.
  • Açıklamalar uygulamanın çalışmasını etkilemez çünkü derleme esnasında dikkate alınmaz. Genel amaç kod karmaşasını basitleştirmektir.

19 Oca 2016

C#'da String Metotlar ve Regular Expressions

String değişkenleri tek ve çok satırlı olarak 2 şekilde tanımlayabiliriz;
string tekSatir = "Bu tek satır string'e örnektir";
string cokSatir = @"Bu da
                  birden fazla satır
                  string'e örnektir";

String değişkenlerin içinde kullanabileceğimiz özel karakterler vardır. Başında ters kesme işareti “ \ “ olan bu işaretlere string-literal denir. Örnek: