4. C# .NET Sabitler ve Değişkenler

Download Report

Transcript 4. C# .NET Sabitler ve Değişkenler

C#.NET 5.0
C# .NET 5.0 Eğitimleri
Volkan KANAT
Sabitler ve
Değişkenler
Sabitler
- Sabitler, içeriği sabit olan değer ya da ifadelerin
saklanması amacı ile kullanılırlar.
- C# dilinde sabitleri const ya da readonly ifadesi
kullanarak iki şekilde tanımlamak mümkündür.
Sabitler, const
- Sabit değerleri tanımlamada kullanılır. Değerleri
tanımlandıkları anda verilmelidir.
Örneğin;
const int rakam = 7;
- const ifadesi ile tanımlanmış bir sabitin değeri
derleme esnasında değiştirilemez.
Uygulama
- Dairenin çevresini ve alanını bulan bir program
yazalım.
Uygulama
static void Main(string[] args)
{
const double PI = 3.1428;
double alan, cevre, yaricap;
Console.Write(“Yarıçapı giriniz = ”);
yaricap = Convert.ToInt32(Console.ReadLine());
cevre= 2 * PI * yaricap;
alan = PI * (Math.Pow(yaricap, 2));
Console.WriteLine(“Dairenin çevresi(cm) = ” + cevre);
Console.WriteLine(“Dairenin alanı(cm) = ” + alan);
Console.ReadLine();
}
Sabitler, readonly
- Sabit değerleri tanımlamada kullanılır.
Tanımlandığı anda değeri verilebileceği gibi,
varsayılan değer kullanarak tanımlanıp değeri
daha sonra da verilebilir.
Uygulama
- Yaş hesaplayan bir program yazalım.
Uygulama
public static readonly int yil = DateTime.Now.Year;
static void Main(string[] args)
{
Console.WriteLine(“Doğum yılınızı giriniz: ”);
int dogum_yili = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Yaşınız = ” + (yil – dogum_yili));
Console.ReadKey();
}
Değişkenler
- Program içerisinde üretilen değerleri bellekte
geçici olarak saklamak amacıyla kullanılırlar.
- [Değişken tipi] [Değişken adı] = [İlk değer]
Bir değişken tanımlanırken bu hal ile tanımlanır.
İlk değer kullanımı zorunlu değildir.
- Örneğin;
string ad_soyad;
string ad_soyad = “Volkan KANAT”;
Değişkenler
- Aynı satırda birden fazla değişkeni tanımlamak
mümkündür. Ancak aynı satırda tanımlanacak
değişkenler aynı veri türünden olmalıdır. Değişken
isimleri birbirinden virgülle ayrılarak yazılır.
string ad, soyad;
- Aynı satırda değişkenleri tanımlarken bazı
değişkenlere değer aktarması yaparak, bazılarına
ise değer aktarması yapmadan tanımlayabilirsiniz.
int a = 5, b = 10, c;
Değişkenler
- Değişkenlere değer ataması yaparken, değerler
üzerinde çeşitli işlemler yapabilirsiniz.
int a = 5;
int b = a + 3;
Değişken Tipleri
Tanımlandıkları Yerlere
Göre Değişken Tipleri
- Değişkenler tanımlandıkları yerler göre
global(genel) ve local(yerel) olmak üzere ikiye
ayrılır.
- Local değişkenler, bir metot ya da kod
bloğunun içerisinde tanımlanarak, sadece
tanımlandıkları metot ya da kod bloğunun
içerisinde geçerli olurlar.
Tanımlandıkları Yerlere
Göre Değişken Tipleri
- Global olarak tanımlanan değişkenler
tanımlandıkları yere göre bir kod bloğunun,
metodun ya da sınıfın tamamında geçerli olur.
Uygulama
- Butona basma sayımızı gösteren bir program
yazalım.
Uygulama
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
i=i+1;
MessageBox.Show(i + “ defa tıklandı”);
}
Struct (Yapı) Oluşturmak
- Farklı tiplerden değişken tiplerini, özellikleri,
metotları bir çatı altında toplayarak
gruplandırmak amacı ile kullanılan veri türü
yapısıdır.
- Struct içerisindeki her eleman tek tek
tanımlanmalıdır.
- struct structAdı
{
public [değişken tipi] [değişken adı];
}
Uygulama
- Bir struct oluşturup, içerisindeki elemanları bir
listBox içerisinde listeleyen bir program yazalım.
Uygulama, struct
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
struct ogrenci
{
public string ad;
public string soyad;
public int numara;
public string sınıf;
}
ogrenci ogrenciler = new ogrenci();
Uygulama, buton
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Add(ogrenciler.ad);
listBox1.Items.Add(ogrenciler.soyad);
listBox1.Items.Add(ogrenciler.sınıf);
listBox1.Items.Add(ogrenciler.numara);
}
Uygulama, form
private void button1_Click(object sender, EventArgs e)
{
ogrenciler.ad = “Mehmet”;
ogrenciler.soyad = “CANSEVER”;
ogrenciler.numara = 25;
ogrenciler.sınıf = “11 - A”;
}
Enum Oluşturmak
- Program içerisinde kullanılan sabitlerin
anlamlandırılması amacı ile bu sabitlere isimler
vererek bir grup altında toplayabiliriz. Bu şekilde
oluşturulan gruplara enum
(enumeration(numaralandırma)) denir.
- enum enumAdı
{
Sabit1,
Sabit2,
…
Sabit n
}
Enum Oluşturmak
- enum Gunler
{
Pazartesi,
Salı,
Çarşamba,
Perşembe,
Cuma,
Cumartesi,
Pazar
}
IsDefined Metodu
- enum içerisinde bir elemanın tanımlanıp
tanımlanmadığını bulmak amacıyla kullanılır.
- Örneğin Gunler adlı enum içerisinde Pazartesi
gününün tanımlanıp tanımlanmadığına bakalım.
if (Gunler.IsDefined(typeof(Gunler), “Pazartesi”))
{
MessageBox.Show(“Pazartesi değeri mevcut”);
}
else
{
MessageBox.Show(“Pazartesi değeri mevcut değil”);
}
Enum İçerisindeki Elemanlara Erişim
- enum içerisindeki elemanlar, 0 sıra
numarasından başlamak üzere sıralanırlar. Sıra
numaraları kullanılarak enum içerisindeki
elemanlara erişim sağlanabilir.
Uygulama
- Gunler adında bir enum oluşturup elemanlarına
sıra numaralarını kullanarak erişen bir program
yazalım.
Uygulama, enum
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public enum Gunler
{
Pazartesi,
Salı,
Çarşamba,
Perşembe,
Cuma,
Cumartesi,
Pazar
}
Uygulama, buton
private void button1_Click(object sender, EventArgs e)
{
byte i = Convert.ToByte(Interaction.InputBox(“Gün numarasını giriniz.”));
Gunler gunadi;
gunadi = (Gunler)i;
MessageBox.Show(gunadi.ToString());
}
GetNames Metodu
- enum içerisindeki elemanları string formatta
elde ederek bir dizi içerisinde saklamak için
GetNames metodundan yararlanılır.
- Örneğin uzmanlık adlı enum içerisindeki
elemanları bir listBox’a aktarmak için:
foreach (string uzmanlıkalanı in Enum.GetNames(typeof(uzmanlık)))
{
listBox1.Items.Add(uzmanlıkalanı);
}
GetValues Metodu
- enum içerisindeki sabitlerin sayısal değerlerini
int formatta elde ederek bir dizi içerisinde
saklamak için GetNames metodundan yararlanılır.
- Örneğin uzmanlık adlı enum içerisindeki
elemanların sayısal değerlerini bir listBox’a
aktarmak için:
foreach (string uzmanlıkalanı in Enum.GetValues(typeof(uzmanlık)))
{
listBox1.Items.Add(uzmanlıkalanı);
}
GetType Metodu
- Herhangi bir değişkenin tipini öğrenebilmek için
GetType metodundan faydalanılır.
- GetType metodunun ürettiği değer, Type
türünden olduğu için herhangi bir string
değişkene aktarılamaz. ToString() metodu
kullanarak string türüne dönüştürüldükten sonra
kullanılabilir.
Uygulama
- Değişkenlerin tipini belirtmeden var türünde
tanımlayarak, değer ataması yapalım.
Değişkenlerin içerdikleri değerler göre otomatik
olarak C# tarafından değer ataması yapılmaktadır.
- GetType metodu ile bu değişkenin tipini
öğrenerek ToString() metodu üretilen değeri
string değere dönüştürüp, mesaj penceresi
içerisinde görüntüleyeceğiz.
Uygulama
private void button1_Click(object sender, EventArgs e)
{
var isim = “Volkan KANAT”;
MessageBox.Show(isim.GetType().ToString());
var yas = 5;
MessageBox.Show(yas.GetType().ToString());
var ondalık_sayi = 12.4;
MessageBox.Show(ondalık_sayi.GetType().ToString());
}
Volkan KANAT
Web: http://volkankanat.com/
Mailito: [email protected]
Twitter: https://twitter.com/VolkanKanatMuh
Dinlediğiniz İçin Teşekkürler