TOC

This article is currently in the process of being translated into Turkish (~99% done).

The Basics:

Variables

Değişken, bir depolama odasına benzetilebilir ve bir programcının kullanması gereken en önemli şeylerden birisidir. C#'ta değişkenler şu şekilde tanımlanır:

<veri tipi> <isim>;

Şöyle bir örnek verebiliriz.

string isim ;

En temel hali böyledir fakat değişken burada henüz bir değere sahip değil. Değişkenlere daha sonradan bir değer atayabilirsin ya da değişkeni tanımlarken bir değer de atayabilirsin, aynı şu şekilde:

<data type> <name> = <value>;

Eğer bu değişken, üzerinde çalıştığın metotta yerel değilse (örnek olarak : kullandığın sınıfta bir değişken ise), değişkene görünürlüğünü atamak isteyebilirsin.

<görünürlük> <veri tipi> <isim> = <değer>;

Ve bitmiş bir örnek şöyledir:

private string name = "John Doe";

Görünürlük kısmı sınıflarla ilgilidir, bu yüzden görünürlük hakkında daha detaylı bir anlatımı sınıflarla ilgili bölümde göreceksiniz. Şimdi aşağıdaki örneklerdeki değişkenleri inceleyelim.

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    string firstName = "John";
    string lastName = "Doe";

    Console.WriteLine("Name: " + firstName + " " + lastName);

    Console.WriteLine("Please enter a new first name:");
    firstName = Console.ReadLine();

    Console.WriteLine("New name: " + firstName + " " + lastName);

    Console.ReadLine();
}
    }
}

Pekala, bu örnekteki çoğu şeyi az önce açıkladık, o yüzden işin buradaki ilginç kısmına geçelim. Öncelikle, birkaç tane string veri tipli değişken tanımladık. String veri tipi metin tutmak için kullanılır, bu örnekte de görebileceğiniz üzere, veri tipinin ardından hemen değişkenlerini atadık. Daha sonra, bu iki değişkeni kullanarak konsola yeni bir yazı çıkardık. Ortaya çıkan metni, + kullanıp farklı yazıları "toplayarak" yazdırdık.

Sonrasında, kullanıcıya isim girmesini istiyoruz, ve ardından ReadLine() metodunu kullanarak kullanıcının konsola yazdığı girdiyi okutuyoruz ve bu girdiyi firstName değişkenine ekliyoruz. Kullanıcı Enter tuşuna bastığı anda yeni isim değişkene atanıyor ve sonraki satırda değişikliği göstermek için ismin çıktısını alıyoruz. Şimdi ilk değişkenimizi ve değişkenin tek ve en önemli olan özelliğini kullanmış olduk. Programın çalışma esnasındaki değer değiştirme özelliğini.

Diğer bir ilginç kısımsa matematik işlemleri yapmak. Az önce kullandığımız koda dayalı bir örnek:

int number1, number2;

Console.WriteLine("Please enter a number:");
number1 = int.Parse(Console.ReadLine());

Console.WriteLine("Thank you. One more:");
number2 = int.Parse(Console.ReadLine());

Console.WriteLine("Adding the two numbers: " + (number1 + number2));

Console.ReadLine();

Bunları kopyalayıp Main metoduna yapıştırarak bir deneyin. Burada tek kullandığımız yeni özellik int.Parse() metodu. Bu metot basitçe, metni okur ve onu bir tam sayıya çevirir. Gördüğünüz üzere, bu uygulama kullanıcı girdisini onaylamak için bir efor sarf etmiyor ve eğer sayı haricinde bir şey girerseniz sıra dışı bir durum ortaya çıkacaktır. Bunun hakkında sonra konuşacağım.

Variables & scope

Şimdiye kadar , sadace yerel değişkenler kullandık.Yerel değişken aynı metot içinde tanımlanan ve kullanılan değişkendir. C# da bir metot içinde tanımlanan bir değişken başka bir metot içinde kullanılamaz, bu yüzden yerel denir. Eğer başka programla dilleri biliyorsanız başka yerlerden ulaşılabilen global değişekenleri duymus olabilirsiniz ama c# global değişken konseptini desteklemiyor. Onun yerine sınıf içerisinde bütün metotlardan ulaşılabilen bir field(bölge) tanımlayabilirsiniz.Bunu aşağıdaki örnekte gösterelim.

using System;

namespace VariableScope
{
    class Program
    {
private static string helloClass = "Hello, class!";

static void Main(string[] args)
{
    string helloLocal = "Hello, local!";
    Console.WriteLine(helloLocal);
    Console.WriteLine(Program.helloClass);
    DoStuff();
}

static void DoStuff()
{
    Console.WriteLine("A message from DoStuff: " + Program.helloClass);
}
    }
}

helloClass üyesine dikkat edin , bir metotun içinde değil sınıfın içinde tanımlanmış. Bu helloClass 'a hem Main() metotundan hemde DoStuff() metotundan erişmemizi sağlar.Bu erişim helloLocal değişkeni için olmaz, çünkü bu değişken Main() metotu içinde tanımlanmış ve bu yüzden sadace Main() metotu içinde kullanılabilir.

Bir değişkenin nerde tanımlandığının ayrılması işlemine kapsam(scoping) denir ve kodun değişkenlerin her yerden değiştirilebildiği büyük bir karmaşıklığa dönmesini önler.Bir diğer teknik ise başka bir bölümde üzerine konuşacağımız üye görününürlüğü (member visibility). (bizim kodumuzda private kelimesiyle kullanılmış),

Özet

Değişkenler birçok değişik veri tipinde veri saklamamıza yarar, örnek olarak: yazı, numara veya özel objeler. Sadece tanımlandığı metot içinde kullanılabilen değişkenler yerel değişkenlerdir. görünürlüğü izin verirse bütün metotlardan ulaşılabilenler ise class fields'ta tanımlanan değişkenlerdir.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!