baştan sonra c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
baştan sonra c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Mart 2019 Cuma

C# Ders-5

Döngüler(Loops)

Döngüler, bir işlemin defalarca tekrarlanması gerekiyorsa, aynı kodu tekrar tekrar yazmaktan kurtulmamızı sağlar. Gerçekleştirmek istediğiniz algoritmaya göre işlemin kaç defa tekrarlayacağını belirleyebiliriz. Yaptıkları iş aynı olsa da kullanım şekillerine göre farklılaşan 3 döngü vardır("for" , "while" , "do-while").

"for" Döngü Örneği

İsimleri: "label1" "txtSayi1" "btnHesapla"
Senaryomuz ekran görüntüsünden de anlaşıldığı üzere girilen sayının faktoriyel hesabını yapıp sonucu mesaj kutusu içerisinde gösteren program yazmak.

5 Mart 2019 Salı

C# Ders-4

Şart/Kontrol Deyimleri

Bir önceki derste basit bir şekilde if kullanımını görmüştük. Bu dersimizde if kullanımına farklı bir örnek verip, diğer şart/koşul ifadelerinin anlatımına geçeceğiz. Dersimizin senaryosu şu şekilde: "Her seferinde 1 öğrencinin olmak şartıyla girilen notlara göre ağırlıklı not ortalamasını hesaplayan, sonuca göre geçip geçmediğini ve harf notunu mesaj kutusuyla ekrana yazdıran bir program yazınız. Öğrencinin 1 ara sınav, 1 final sınavı ve 1 quizi olmak üzere toplam 3 sınavı vardır. Not ağırlıkları ara sınav için %30 , final sınavı için %50 , quiz için %20 şeklindedir". Bileşenlerimiz 4 tane label, 3 tane textbox, 1 tane button. İsimlendirmeleri,

label1 = lblMesaj , text = " Öğrenci Notlarını Giriniz"
label2 = lblSinav1 , text = "Sınav 1:"
label3 = lblSinav2 , text = "Sınav 2:"
label4 = lblSinav3 , text = "Sınav 3:"
textbox1 = txtSinav1
textbox2 = txtSinav2
textbox3 = txtSinav3
button1 = btnhesapla , text = "Hesapla"

Components

28 Şubat 2019 Perşembe

C# DERS-3

Tip Dönüşümleri

C# tip korumalı bir dildir. Bu yüzden bazı işlemler yapabilmek için tip dönüşümü yapmamız gerekir. Başlangıç olarak toolbox'dan 2 tane textbox, 1 tane button, 2 tane label alarak form ekranına yerleştiriyoruz ve hemen isimlerini belirliyoruz.

  • textbox1 = txtSayi1 
  • textbox2 = txtSayi2 
  • button1 = btnTopla 
  • label1 = lblToplamaSonucu 
  • label2 = lblBirlesimSonucu 
  1. Button seçiliyken,
  2. Bu şimsek sembolüne tıklıyoruz ve o component ile yapılabilecek eventleri(olayları) görüntülüyoruz.
  3. Click eventi hazır kod bloğunu oluşturmak için çift tıklıyoruz.
Bütün bileşenler için mevcut olan eventleri bu şekilde görebilirsiniz.Her bileşenin bir default(varsayılan) eventi vardır. Tasarım ekranında bileşen üzerinde çift tıklarsanız default event için hazır kod blokları oluşacaktır. Button için click event, form için load event default olarak belirlenmiştir.

Not: Kod yazılı olan ekran görüntüleri satır numaraları ile açıklanacaktır.Ders ilerledikçe, yazılan kodda güncellemeler olacağından satır sayıları değişebilir.

  • Satır 20: Yorum satırı kullanımı.Yazılım mühendisleri genellikle ekip halinde çalışır. Bunun farklı sebepleri olabilir; tek kişinin altından kalkamayacağı büyüklükte bir proje olabilir, farklı uzmanlık alanlarından mühendislere ihtiyaç olabilir, projeyi daha kısa zamanda bitirmek için daha fazla mühendisle çalışılıyor ... vb olabilir. Bu tür durumlarda yazdığınız kodu inceleyen diğer mühendislerin, yazdığınız kodu daha hızlı anlaması veya yanlış anlamaması için yorum satırı yazılır. Proje üzerinde sadece siz çalışıyor olsanız dahi yorum satırına ihtiyaç duyacaksınızdır. Örneğin, daha önce çalıştığınız bir projede güncelleme yapacaksınız, ama aradan biraz zaman geçtiği için kodlarınızı hatırlamanız zor olacaktır. Yazdığınız yorum satırları sizin için kurtarıcı olacaktır. Yorum satırı için bu kadar uzun açıklama yapmamı garip bulabilirsiniz, ama gerçekten önem verilmesi gereken bir konu. Kod yazma prensiplerinde dahi yorum satırının büyük önemi vardır. Eğer bir projede yorum satırı yoksa kalitesi düşük bir projedir. Şimdi bunları anlatıyorum diye her yeri de yorum satırı doldurmamak lazım :) Çünkü diğer bir görüş ise şöyle:"eğer siz kodlarınızın nasıl çalıştığını anlatabilmek için çok fazla yorum satırına ihtiyaç duyuyorsanız, sizin yazdığınız kodun karmaşıklık düzeyi istenilenden fazla, kodlarınızı yenilemeniz gerekir." Neyse daha fazla uzatmadan dersimize devam edelim bu konulara "SOLID Tasarım Prensipleri" derslerinde değineceğiz.
  • Satır 21: double tipinde globalDegisken adında global bir değişken oluşturuyoruz.Bu derste global değişken kullanmayacağız, oluşturup kullanmadığımız kodların altının yeşil çizili bir şekilde gösterildiğini kendi IDE 'nizde görebilirsiniz.Alınan ekran görüntülerinde bu çizgiler görünmemektedir.
  • Satır 24: Tasarım ekranında butona çift tıkladığımızda oluşan click event kodları.
  • Satır 25-40: Bu süslü parantezler arasına yazılan kodlar butona her tıklandığında çalışacak kodlardır.
  • Satır 26: int tipinde sonucHesapla1 adında yerel bir değişken oluşturuyoruz.
  • Satır 27: string tipinde sonucHesapla2 adında yerel bir değişken oluşturuyoruz.
  • Satır 29: Eğer tek satır yorum yazacaksak " // " dan sonra yazabiliriz.
  • Satır 30: txtSayi1 ve txtSayi2 nin textlerini birleştir ve sonucHesapla2 ye ata. Bir önceki dersimizde = ve + operatörlerini anlatmıştık.
  • Satır 32-33: Eğer tek satırdan fazla yorum yazacaksak " /* */ " arasına istediğimiz kadar yorum yazabiliriz.
  • Satır 34: txtSayi1 ve txtSayi2 nin textini al, Int32 ye dönüştür ve toplayıp sonucHesapla1 'e ata. Int32 int , Int16 short , Int64 long anlamına gelmektedir. Hangi tipe dönüşüm yapılacaksa o seçilmelidir.
  • Satır 36: lblBirlesimSonucu adlı label ın textini "Birleşim Sonucu: 16" şeklinde set et(kullanıcının textboxlara 1 ve 6 girdiğini varsayıyoruz).
  • Satır 38: lblToplamaSounucu adlı label ın textini "Toplama Sonucu : 7" şeklinde set et.Satır 36 'da neden ToString() kullanmadık da bu satırda kullanıyoruz? Çünkü, sonucHesapla2 zaten string tipinde bir veri ve label ın text özelliği iki 2 string birleşiminden oluşabilir, ama sonucHesapla1 int tipinde bir veri olduğundan ve text özelliği string veri tipiyle çalıştığından .ToString() kullanarak tip dönüşümü yapıyoruz.
  • F5 kısayolunu kullanarak kodlarımızı derleyebilir ve hata olup olmadığına bakabiliriz.

25 Şubat 2019 Pazartesi

C# DERS-2

Variables(Değişkenler)

Kullandığımız bütün programlar RAM(Bellek) üzerinde çalışmaktadır. Program içerisindeki kullanılan veriler genelde bellek üzerinde bir değişken ile geçici olarak saklanır. Veri kalıcı hale getirilmek istenirse bir veri tabanına kaydedilir.Veri tiplerinin bazı örnekleri aşağıda verilmiştir.

 Değişken tipi Değişken adı = Değişken değeri şeklinde değişken oluşturabiliriz

Sayısal Veri Tipleri(Tam Sayılar)
  • byte : Bellekte kapladığı boyut = 1 byte, Min/Max aralığı = 0 / 255
  • sbyte : Boyut = 1 byte, Min/Max aralığı = -128  / 127
  • short : Boyut = 2 byte, Min/Max aralığı = -32.768 / 32.767
  • ushort : Boyut = 2 byte, Min/Max aralığı = 0 / 65.535
  • int : Boyut = 4 byte, Min/Max aralığı = -2.147.483.648 / 2.147.483.647
  • uint : Boyut = 4 byte, Min/Max aralığı = 0 / 4.294.967.295
  • long : Boyut = 8 byte, Min/Max aralığı = -9.223.372.036.854.775.808 / 9.223.372.036.854.775.807
  • ulong : Boyut = 8 byte, Min/Max aralığı = 0 / 18.446.744.073.709.551.615
Bu bilgiler örnek olması açısından verilmiştir.Sınır değer testleri, normalizasyon, vb testler yapmayanlar için genelde bu bilgiler pek önem arz etmez. Bu kısımdan sonra adı geçen veri tipleri için de bu bilgilere ihtiyaç duyanlar pek çok kaynaktan yararlanabilirler.Araştırmanıza rağmen bu bilgilere ulaşamadıysanız veya başka sorunuz varsa mail gönderebilirsiniz.

Sayısal Ondalık Veri Tipleri(Kesirli/Virgüllü Sayılar)
Bu veri tipleri: float, double ve decimal olmak üzere 3 adettir.

Mantıksal Veri Tipi
Tek bir tane mantıksal veri tipi bulunmakta olup "bool" olarak adlandırılmaktadır. Sadece true(doğru) yada false(yanlış) değerlerini alabilmektedir.

Tarihsel Veri Tipi
Tarihsel işlemlerde kullandığımız bu veri tipinin adı "DateTime" dır. 01.01.0001 / 31.12.9999 aralığında değerler alabilir.

 Sayısal Olmayan Veri Tipleri(Metinsel)
Genellikle harflerden oluşan/metinsel verileri kullanabilmek için oluşturulan değişkenlerdir. Eğer veri tek bir karakterden oluşuyorsa "char" , tek bir karakter veya daha fazla karakterden oluşuyorsa "string" olarak adlandırılan değişkenleri kullanabiliriz.

Şimdi değişkenlerle ilgili yazım örnekleri vererek devam edebiliriz.

byte sayi1=251;
int sayi2 = 20984;
int sayi3 = 56987 , sayi4 = 302 ;
float sayi5 = 54,6 ;
double sayi6 = 96,45 , sayi7 = 0,71 ;
decimal sayi8 = 986,41 ;
char harf1 = 'a' , harf2 = 'A' , harf3 = 'a' ;
string metin1 = "Merhaba Dünya" ;
string metin2 =" ";
string metin3 ;
metin3 = "Degerini Sonra da Belirleyebiliriz." ;
bool kontrol = false ;

Değişken Adlandırma Kuralları
  • C# büyük/küçük harf duyarlıdır. Değişken adı tanımlanırken ad ve Ad farklıdır.
  • Değişken adındaki ilk karakter mutlaka harf olmalıdır. 2.isim yerine isim2 olamalıdır.
  • C# da kullanılan anahtar kelimeler değişken adı olamaz. (int, float, double , bool, vb.)
  • Değişken adında boşluk olamaz.
  • Özel karakter içeremez. (+ , - , / , * , ? , vb.)
  • Türkçe harfler içeremez. (ç,s,ı,İ,ö,ü,ğ)
  • Değişken adı 255 karakterden kısa olmalıdır.

9 Şubat 2019 Cumartesi

C# DERS-1

C# Nedir?

Adı C ve C++ dilinden gelir. C dilinde bir sayı değişkenin değerini 1 artırmak için “++” operatörü kullanılır. Bu yüzden C dilinden sonra geliştirilen ve Nesne Yönelimli özellikleri taşıyan yeni dil için, C 'nin bir fazlası anlamında C++ adı kullanılmıştır. C++'tan sonra geliştirilen C# dili ise adını; ((C++)++) ifadesinde artı işaretlerinin bir araya gelmesinden alır. Bu dili tasarlayan Anders Hejlsberg ve ekibi yaygın ve beğenilen bir dil olan Java 'nın söz dizimini temel almıştır.

C# dili derleyen bir kaç IDE (Integreted Development Enviroment/Tümleşik Geliştirme Ortamı) olsa da(Örnek IDE 'ler: SharpDevelop, Emacs, Notepad++, ...) en çok kullanılanı, benimde tavsiyem "Visual Studio Community" versiyonu olacaktır.Visual Studio kurulumunda kişiye özgü özelleştirme seçenekleri çok fazla olduğu için herkesin yüklerken seçtiği eklentiler de farklı olacaktır.Eğer ilk defa bir yazılım dili öğreniyor ve bir IDE kurulumu yapıyorsanız Visual Studio kurulumu için ayrı bir video izlemenizi tavsiye ederim.(Visual Studio İndirme Linki: visualstudio.microsoft.com/downloads/ )

Kurulumu yaptığınızı varsayarak dersimize devam ediyoruz.Visual  Studio 'da yeni bir proje açmak için sol üst köşeden "File/New/Project..." seçeneklerine tıklayıp yeni proje açma penceresine ulaşabilirsiniz. Ama ben "Ctrl+Shift+N" kısayolunu kullanmanızı tavsiye ederim C# ile yazarken hızlanmak, vakit kazanmak için bol bol kısayolları kullanmamız gerekiyor, elinizin alışması için en baştan kısayolları kullanmak çok faydanıza olacaktır.
Görsel 1.1 - Yeni Proje Oluşturma Ekranı
  1. Visual Studio için çok fazla özelleştirme seçeneği olduğunu söylemiştim.Şekilde gördüğünüz gibi Visual C# seçiyoruz.
  2. Projenize göre seçiminizin değişkenlik göstereceği bir diğer seçim kısmı da bu menü, ancak biz Visual C# için temel olan "Windows Form Application" seçerek dersimize devam ediyoruz.
  3. Projenize vermek istediğimiz ismi buraya yazıyoruz.
  4. Ekran fotoğrafında 4 olmadığını bende yazmaya başladığımda fark ettim. Böyle kalmasında bir sakınca yok, görüp hatırladıkça güleriz😂
  5. Projenizin dosyalarının kaydedileceği dosya konumu.(Projeleriniz için Visual Studio otomatik bir kayıt yeri belirleyecektir, dilerseniz o şekilde kullanabilirsiniz.Belirli bir süre sonra çok fazla proje olacağından karıştırmamak için projelerinizi ya çok güzel isimlendirmeniz lazım yada çok güzel klasörlemeniz. İkisini birden yaparsanız daha güzel.)
  6. İleri derslerde anlatacağımız bir kısım.Değiştirmemize gerek yok, proje ismi ile aynı kalabilir.
  7. OK butonuna tıklayıp ilk projemizi oluşturabiliriz.

Son Eklenen

C# Ders-5

Döngüler(Loops) Döngüler, bir işlemin defalarca tekrarlanması gerekiyorsa, aynı kodu tekrar tekrar yazmaktan kurtulmamızı sağlar. Gerçekl...

Popüler Yayınlar