BTP206– Görsel Programlama II Değişkenler
İçerik Değişkenler
Değişkenler Programınızda, kullanılan verinin tipi tanımlanmak zorundadır(int, string, v.b.) Nesne tabanlı programlama dillerinde, kullanılan verinin erişim seviyesi de tanımlanmak zorundadır (public, private, v.b.). Bu erişim aynı zamanda scope(Alan) olarak da bilinir.
Visual C# Veri Tipleri Visual C# içinde, 2 adet veri tipi kategorisi bulunur: Value types(Değişken tipleri) Reference types(Referans tipleri)
Tam Değişken Tipleri Tip Değer aralığı Boyut byte 0 to 255 1 bit sbyte char U+0000 to U+FFFF 2 bit short –32768 to 32767 ushort 0 to 65535 int –2,147,483,648 to 2,147,483,647 4 bit uint 0 to 4,294,967,295 long –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 8 bit ulong 0 to 18,446,744,073,709,551,615
Ondalıklı Değişken Tipleri Değer aralığı Hassaslık Boyut float ±1.5 × 10−45 to ±3.4 × 1038 7 digits 32 bit double ±5.0 × 10−324 to ±1.7 × 10308 15-16 digits 64 bit decimal ±1.0 × 10−28 to ±7.9 × 1028 28-29 digits 128 bit * Decimal değişken tipi para birimi olarak kullanılır.
Diğer Değişken Tipleri Açıklama bool Boolean değişkenlerini saklar. True ya da false enum Sayım tipi olarak düşünülebilir. Örnek: enum Days {Mon, Tue, Wed, Thu, Fri, Sat, Sun}; struct Class(Sınıf) kavramının hafif olan versiyonudur.
Referans Tipleri Tip Açıklama string Unicode karakter dizisi object C# içerisindeki herşey otomatik yada manuel olarak object sınıfından türer. class Nesneleri temsil eder. delegate Metod imzası (C içerisindeki fonksiyon pointerları gibi) interface Bir interface(arayüz) sadece metodların, özelliklerin, olayların ve indeksleyicilerin yansımalarını içerir.
Type Casting(Tip dönüştürme) Tip dönüştürme iki yolu vardır: Implicit ve Explicit Implicit dönüşümleri derleyici tarafından otomatik olarak yapılır. Genişleme dönüşümü Veri kaybı yok Örnek: float tipini double tipine dönüştürme Explicit dönüşümleri programcının onayını gerektirir Daralma dönüşümü Veri kaybolabilir Örnek: double tipini float tipine dönüştürme
Güvenli dönüşümler Tip Güvenli bir şekilde dönüşecekleri byte short, int, long, float, double, decimal short int, long, float, double, decimal int long, float, double, decimal long float, double, decimal float double decimal
Explicitly(Açıkça) veri tipi dönüşümü En basit yol olarak C yazımı kullanılır: double d = 2.3; int i = (int) d; Convert sınıfı kullanarak da yapılır: int i = Convert.ToInt32(d);
Convert sınıfının bazı ortak metodları Dönüştürdüğü Tip ToBoolean bool ToByte byte ToSByte sbyte ToChar char ToDateTime DateTime ToInt16 short ToInt32 int ToInt64 long
Convert sınıfının bazı ortak metodları Dönüştürdüğü Tip ToDecimal decimal ToDouble double ToSingle float ToString string ToUInt16 ushort ToUInt32 uint ToUInt64 ulong
Değişkenleri tanımlamak Veritipi değişken_ismi = başlangıç_değeri; int a; string str = "BTP206"; double m = 10, n = 20; long k, l = 100; Visual C# katı yazım kuralları olan bir programlama dilidir.; Bu yüzden, kullanılan değişkenlerin veri tipi mutlaka tanımlanmalıdır. Buna ek olarak, Visual C# içerisinde tanımlanan değişkenlere kullanılmadan önce bir başlangıç değeri verilmelidir.
Değişkenler nerede tanımlanır? Değişkenler, metodların üst kısmında sınıf tanımlamasının içinde tanımlanır.
Diziler string[] strMyArray; strMyArray = new string[10]; Elemanlara erişim: strMyArray[0] = "BTP206"; strMyArray[1] = "Görsel Programlama";
Çok Boyutlu Diziler int[,] intMeasurements; intMeasurements = new int[3, 2]; Elemanlara erişim: intMeasurements[0, 0] = 1; intMeasurements[2, 1] = 6;
Constants(Sabitler) Programın çalıştığı sürede, değeri değişmeyen değişkenler kullanılmak istenebilir. Bunu sağlamak için const anahtar kelimesi kullanılır: const double PI = 3.14159;
Egzersiz Bir onay kutusunun görünüp görünmemesini saklayan bir boolean değişkeni tanımlayın. Bu değişkenin değerini “Confirm on exit” menü öğesine tıklandığında değiştirin. FormClosing olayını seçin ve içine aşağıdaki kod bloğunu yazın.
FormClosing Event if (m_blnPromptOnExit) { if (MessageBox.Show(“Close the Picture Viewer program?”, “Confirm Exit”, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) e.Cancel = true; }
Aritmetik İşlemler C dekine benzer aritmetik işlemler kullanılır. Daha detaylı bilgi edinmek için kitabınızın 12. bölümüne bakmanız gerekmektedir.
String İşlemler Length SubString() IndexOf() Trim(), TrimStart(), TrimEnd(), Remove() Replace()
Date/Time İşlemler DateTime dateMyBirthday = new DateTime(2008,7,22); AddDays(), AddHours(), etc. ToLongDateString() ToShortDateString() ToLongTimeString() ToShortTimeString()
Date/Time İşlemler DateTime.Today DateTime.Now