Ana sayfa › Forumlar › PROGRAMLAMA › C# › Değişkenler
- Bu konu 1 yanıt içerir, 2 izleyen vardır ve en son 12 yıl 6 ay önce Bahadir tarafından güncellenmiştir.
-
YazarYazılar
-
14 Mayıs 2012: 18:02 #13949özgürİzleyici
Değişkenler program içerisinde üretilen değerleri geçici olarak saklamak amacı ile kullanılırlar.
[Değişken tipi] [Değişken adı] = [İlk Değer] şeklinde tanımlanırlar.
Örneğin; string adsoyad şeklinnde ilk değer ataması yapılmadan tanımlanabileceği gibi string adsoyad=”HardTurks” şeklinde ilk değer ataması yapılarak da kullanılabilirler.
Değişkenler tanımlanırken aşağıdaki kurallara uyulmalıdır.
.Değişken ismi harf ile başlamalıdır. Diğer karakterler harf,rakam ya da özel karakter olabilir.
.Değişken ismi en fazla 255 karakter olabilir.
.Değişken ismi tanımlanırken boşluk bırakılmamalıdır.Bunun yerine _(alt çizgi) gibi özel karakterler kullanılabilir.
.C#.Net içerisinde büyük küçük harf ayrımı olduğundan dolayı değişkenler hangi şekilde tanımlandılarsa program içerisinde de o şekilde kullanılmalıdırlar.
.C#.Net içerisinde kullanılan komutlar değişken ismi olarak kullanılamaz.(AND,OR,NOT gibi)
.C# içerisinde metodları isimlendirirken küçük ya da büyük harf ile metod isimlerini biçimlendirmede üç çeşit isimlendirme biçimi kullanılır. Bizler de kendi tanımladığımız metodlarda ve değişkenlerde aynı isimlendirme biçimlerini kullanabiliriz. Bunlar;Pascal Case,Camel Case ve Upper Case isimlendirme biçimleridir.
~Pascal Case
Metodu ya da değişkeni oluşturan bitişik sözcüklerin ilk harfleri büyük harfle yazılır.
ForeColor.MessageBox gibi.
~Camel Case
Metodu ya da değişkeni oluşturan bitişik sözcüklerden ilk sözcüğün baş harfleri küçük harfle yazılırken,diğer sözcüklerin ilk harfleri büyük harfle yazılır.
foreColor.messageBox gibi.
~Upper Case
Metodu ya da değişkeni oluşturan sözcüklerden ilk sözcüklerin baş harfleri büyük harfle yazılırken,soz sözcüğün tamamı büyük harfle yazılır. Genellikle iki-üç harften oluşan kısa sözcüklerde kullanılır.
System.IO,System.WEB.UI gibi
[FONT=Wingdings]Değişken tipleri[/FONT
Değişken Tipi Kapladığı Alan Değer Aralığı
byte 8 bit işaretsiz 0~255
sbyte 8 bit işaretli -128~127
short 16 bit işaretli -32.768~32.767
ushort 16 bit işaretsiz 0:65.535
int 32 bit işaretli -2.147.483.648~2.147.483.647
uint 32 bit işaretsiz 0:4.294.967.295
* Yukarıda bazı değişken tipleri verilmiştir.
Referans Tipleri
Değişken tipi Özelliği
string Unicode karakterlerinden oluşan string
object Genel veri tipi. Tip dönüşümlerinde oluşan hatalar derleme esnasında gözardı edilerek çalışma zamanında hata üretilir.
dynamic Genel veri tipi. Tip dönüşümlerinde oluşan hatalar üzerinde derleme esnasında herhangi bir kontrol yapılmadığı için hata üretilmez.
[FONT=Wingdings]Değişkenler tanımlanırken değişken tiplerini belirtmeden var ifadesini kullanarak tanımlayabilirsiniz. var ifadesi ile tanımlanan değişkenlere ilk değer ataması yapılması gerekir. Aksi takdirde derleyici hata verecektir. Değişkenlerin tipleri değişken içerisine aktarılan değerlere göre otomatik olarak C# tarafından belirlenir.
var değişken adı = ilkdeğer; şeklinde kullanılırlar.
Örneğin; var adsoyad=”hardturks”; şeklinde kullanım ile adsoyad değişkenini her hangi bir tür belirtmeden tanımlayarak string değer ataması yaparak adsoyad değişkeninin veri türünün string olarak belirlenmesini sağladık.
Object ve dynamic veri tiplerinin farkını daha iyi anlamak için bir örnek yapalım.
static void Main(string[] args)
{object rakam = 10;
Console.WriteLine(rakam.GeType());
Console.ReadKey();}
Örneğimizi çalıştırdığımızda System.Int32 sonucunu verecektir. Object veri türü,tanımlandığı değişkene atanan değere göre değişken tipini belirtmektedir.
Aynı işlemi
static void Main(string[] args)
{
dynamic rakam = 10;
rakam= rakam + 10;
Console.WriteLine(rakam);
Console.ReadKey();
}şeklinde yazacağımız kod ise Operator ?+? cannot be applied to operands of type ?object? and ?int? biçiminde hata üretecektir. Object ile int32 türüne dönüşüm yapmamıza rağmen rakam değişkeni halen object olarak kabul edildiğinden dolayı hata meydana gelecektir.
static void Main(string[] args)
{object rakam=10;
rakam= (int)rakam + 10;
Console.WriteLine(rakam);
Console.ReadKey();
}rakam değişkenini int türüne dönüştürerek toplama işlemini gerçekleştirdiğimizde bu defa hata meydana gelmeden işlem yapılacak ve 20 değeri konsol ekranında görüntülenecektir.
static void Main(string[] args)
{
object rakam=10;
rakam= (double) rakam + 10;
Console.WriteLine(rakam);
Console.ReadKey();
}Ancak yukarıda görüldüğü gibi başka bir veri türüne dönüşüm işlemi yapıp toplama işlemini gerçekleştirdiğimizde derleme esnasında herhangi bir hata mesajı görüntülenmeyip, çalışma esnasında “Specified cast is not valid.” biçiminde dönüşüm hatası verecektir.
static void Main(string[] args)
{
dynamic rakam = 10;
rakam= (double)rakam +10;
Console.WriteLine(rakam);
Console.ReadKey();
}Aynı işlemi dynamic veri tipi ile gerçekleştirdiğimizde ise oluşan hatalar gözardı edilerek konsol ekranında 20 değeri görüntülenecektir.
15 Mayıs 2012: 09:58 #14005BahadirÜyeTeşekkürler c# ile yapay zeka konusunda ugrasıyorum bu ara iyi bilen birisi varsa oyun projesi için bana ulaşabilir
-
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.