C# Değişken Türleri ve Değişken Tanımlama

C#'da değişken nasıl tanımlanır ve değişken türleri nelerdir? Eğer C#'da uygulama geliştirmeye karar verdiyseniz sizlere hangi veri türünün hangi değerleri alabileceğini anlatmaya çalışacağım. Değişkenler verilerin saklandığı yapılar olarak tanımlanabilir. Değişken tanımlandıktan sonra istenilen herhangi bir anda değeri değiştirilebilir. Değişken isimlendirilirken uyulması gereken bazı kurallar vardır:

  • Değişken isminde boşluk karakteri bulunmamalıdır.
  • Değişken ismi rakam veya özel karakterlerle başlayamaz.
  • C#'da kullanılan komutlar değişken ismi olarak kullanılamaz. (void, static, class gibi)
  • Değişken ismi 255 karakterden fazla olamaz.
  • Değişken ismi içinde harf, rakam ve alt çizgi dışındaki karakterleri kullanmamamız daha iyi olur. (ş, ğ, ç gibi Türkçe karakterleri kullanmamanızı tavsiye ederim.)

İlk olarak değişken türlerine bakalım.

Sayısal Değişkenler:

Sayısal Değişkenler

Metinsel Değişkenler:

Metinsel Değişkenler

Bunların yanında bool değişkenler ise sadece true ya da false değerler alır. object ise her türden veri alabilir. Datetime ise zaman barındıran değişkendir.

Değişken Tanımlama

Değişkenler

<değişken türü> <değişken adı>

şeklinde tanımlanır. Tanımlamadan sonra eşittir işareti ile değişkenin değeri verilir. Örnek olarak:

int sayi;
char tekkarakter;
string adim = "Mehmet";
byte yas = 18;
bool dogrumu = true;

Sabit Veri Tanımlama

Sabit veri tanımlamak için const sözcüğü kullanılır.

const string baskent = "Ankara";

Tanımlanırken değeri verilmek zorundadır ve tanımlandıktan sonra değeri değiştirilemez. Değişmeyeceğinden emin olduğumuz değerler için kullanımı uygundur.

Global Değişkenler

Projemizdeki herhangi bir sınıftan erişim sağlayabileceğimiz değişkenlere global değişken denir.

public class HerYerden
{
    public static string globaldegisken = "Global";
}

Şeklinde tanımlanır ve bu değişkene ulaşırken sınıf hiyerarşisi kullanılır. Yani Form1 içinde tanımladığımız global değişkene Form2 içinde:

string deger = Form1.HerYerden.globaldegisken;

şeklinde ulaşılır.

Eğer değişkene sadece o sınıftan erişim sağlanmak isteniyorsa public deyimi yerine private deyimi kullanılır.

Hepsi bu kadar. Sorularınız olursa memnuniyetle cevap verebilirim. Kolay gelsin...

YORUMLAR (22)

  1. ali çelik
    ali çelik
    benim görüşüm global - local değişken ve const sabit deyimini de eklemelisin abi :)
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Tavsiyen için teşekkürler Ali. İlgili konular yazıya eklenmiştir.
  2. Sercan
    Sercan
    Güzel bir anlatım olmuş teşekkürler.
  3. Doğancan Dönmez
    Doğancan Dönmez
    Elinize sağlık
  4. tuna
    tuna
    c# da asp.net de bir web sayfasında tanımladığım değişkeni diğer web sayfalarında kullanmak istiyorum nasıl çağırmalıyım bu değişkeni tanımladığım web sayfası dışında
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Yazıda da yazdığı gibi Global değişken olarak tanımlarsanız diğer sayfalardan da değişkene ulaşabilirsiniz.
  5. sinan coban
    sinan coban
    Bir degiskeni sql sorgusundan gelen degere tanimlayabilirmiyiz
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Elbette tanımlayabilirsiniz. Değişkeni sorgu sonucuna eşitleyebilirsiniz.
  6. Serkan Gürcan
    Serkan Gürcan
    Web'de neden global değişken kullanılmaz yada kullanılmamalı?
    • Mehmet YAYLACI
      Mehmet YAYLACI
      ASP.NET'te global değişken kullanılabilir. Ancak güvenlik açısından tavsiye edilmez.
  7. Yiğit Karadayı
    Yiğit Karadayı
    hoocam merhaba
    Ayrı tanımladığım bir class ı form1 in kod bölümünde global olarak tanımlamam mümkün değilmi ?
  8. asım ali
    asım ali
    Merhaba hocam , ben veri aldığım formu instance ile veriyi kullanacağım formda türettim fakat türetilen formun içinde tanıttığım bu değişkene ulaşamadım ardından formdan direk ulaşabildim bunun açıklaması nedir ?
  9. Hakan ZOR
    Hakan ZOR
    Merhaba, Web uygulamada kodu server a atıp aynı anda 2 client bağlandığında ikiside aynı değişkeni görüyor ve kullanıyor. Yani girilen veriler karışıyor. Bunu önleyebilir miyiz ? Teşekkürler.
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Takım çalışmalarında yapılandırma nasıl yapılır hiç bilmiyorum.
  10. mehmet kaya
    mehmet kaya
    merhaba, ben if in içine bir değişken tanımladım ama if in içindeki değişkeni formda nasıl çağırabilirim
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Değişkeni if'in içinde değilde dışında tanımlamanız daha isabetli olur. Bu şekilde form içinde ulaşabilirsiniz. Eğer başka bir form'dan ulaşmak isterseniz yazıdaki "Global Değişkenler" kısmına göz atınız.
      • mehmet kaya
        mehmet kaya

        30 a yakın dışardan veri aldım ve o verileri hepsini şartlandırdım şu şekilde

        if (tmetraj1toplam1 <= metraj2)
        {
            double tmetraj1kalan = metraj2 - tmetraj1toplam1;
        }
        else
        {
            MessageBox.Show("Kumaş Yetersiz");
            return;
        }

        if (ortaayaktoplam1 <= ortaayak3)
        {
            double ortaayakkalan = ortaayak3 - ortaayaktoplam1;
        }
        else
        {
            MessageBox.Show("Orta Ayak Yetersiz");
            return;
        }
        gibi 30 tane şartım var ama ben bunları yine aynı formun içinde kullanmak istiyorum. şartları iç içe yapmakta istemiyorum
        • Mehmet YAYLACI
          Mehmet YAYLACI

          If içinde tanımlanan değişkenlere sadece if içinde ulaşabilirsiniz. Bunun yerine if şartından önce kullanmak istediğiniz değişkenleri tanımlayabilirsiniz. Şunun gibi:

          double tmetraj1kalan = 0;
          double ortaayakkalan = 0;
          Daha sonra if içinde daha önceden tanımlanan bu değişkenlerin değerlerini değiştirebilirsiniz.
  11. hikmet taşkıran
    hikmet taşkıran

    merhaba,
    c# da formlar arası bilgi transferi yapılırken,
    form1 içinde

    frm3.frm1=this;
    tanımlaması yapılıyor.(tabi frm3 bildirimi yapılıyor önceden)
    Bu kodu bir türlü anlayamadım.
    Sınıf ,nesne konularını da araştırdım ama tam aklıma oturtamadım.
    yardımcı olursanız sevinirim.
    • Mehmet YAYLACI
      Mehmet YAYLACI
      Merhaba.
      this anahtar sözcüğü o anda bulunduğunuz sınıfı temsil eder.
      Burada da form içinde başka bir form türünde nesne tutulup ona this ile kendi formunun ataması yapılıyor.
      • hikmet taşkıran
        hikmet taşkıran

        Çok teşekkürler ilginiz için;

        frm3.frm1=this
        ifadesini başka bir şekilde de yazabilir miyiz?

        Belki öyle daha iyi anlayacağım.
        (form3'den form1'e mesaj gönderebilmek için bu yazılıyor sanırım)
        • Mehmet YAYLACI
          Mehmet YAYLACI

          Form1 içinde

          Form3 form3 = new Form3();
          label1.Text = form3.textBox1.Text;
          //label1 Form1 içindeki Label
          //form3.textBox1 Form3 içindeki TextBox
          şeklinde Form3'te bulunan textBox1'in değerine ulaşabilirsiniz.

YORUM FORMU