c# veri tipleri

C# Veri Tipleri ve Değişken Tanımlama

Bu yazıda veri tipinin ne demek olduğunu, değişkenin ne demek olduğunu ve C# programlama dilinde kullanılan veri tiplerini inceleyeceğiz.

Bu bahsettiğimiz kavramlara girmeden önce verinin ne olduğunu ve bir bilgisayar programının temel işlevlerini gözden geçirmemizde fayda var.

Veri ve Bilgi

Veri dendiğinde işlenmemiş, saf bir dijital “kütle” yi düşünmeliyiz. Bilgiyi veriden ayıran ise, bilginin anlamlı bir bütün oluşturmasıdır. Bilgiyi işlenmiş veri olarak tanımlamak mümkün.

Bir cep telefonu numarası tek başına bir veridir. Fakat bunun bir telefon numarası olduğunu bilmediğimizi varsayarsak, bu aynı zamanda bir parola veya farklı birşeyi temsil eden metin de olabilir.

Bunun bir cep telefonu numarası olduğunu öğrendiğimizde bu veri bir bilgiye dönüşür. Artık bu verinin neyi temsil ettiğini biliyoruz. Bu ifadenin aranacak bir telefon numarası olduğu gerçeğini farkettiğimiz an bu artık bir bilgidir diyoruz.

Programlamada veriler nasıl kullanılır?

Bir bilgisayar programının temelde yaptığı iş; bir takım verileri belli işlemlere tabii tutarak bu verilerin kullanıcılara sunulmasıdır. Günümüzde en popüler uygulamalara dahi baktığımızda tümünün elde edilen verileri işleyerek kullanıcılara göze hoş görünen bir şekilde sunma normu üzerine bina edildiğini göreceğiz.

Kuvvetle muhtemel daha önce duyduğunuz bir bilgiyi paylaşacağım: Bilgisayar işlemcilerinin tanıdığı tek veri tipi binary

Peki bu ne demek?

Bilgisayar işlemcileri tüm hesaplamalarını LOW ve HIGH sinyali üzerinden yaparlar. Örneğin: En basit bir toplama işleminde dahi, toplama işleminde kullanılan sayılar tam toplayıcı devreler sayesinde işlemcilerde hesaplanır. Full adder devrelerin toplama işlemini yapabilmesi için sayılara binary formatında ihtiyacı var.

Neyse ki biz bu kadar ayrıntıyı düşünmek zorunda değiliz.

Bilgisayar programlarının geliştirilme sürecini kolaylaştırmak için gelişen teknolojiyle birlikte modern programlama dilleri gelliştirilmiştir. Gelişen teknoloji sayesinde bilgisayar programı geliştirme süreçleri giderek kolaylaşmıştır. Modern programlama dillerinde yüksek bitli sayısal değerler, metinler için veri tipleri, ve hatta gerçek hayatta temsil edilen tipler için veri tipleri oluşturmak mümkün.

Bu yazıda C# dilinde en sık kullanılan veri tiplerini ve değişken tanımlamayı inceleyeceğiz.

C# Veri Tipleri

C# dilinde programlama yaparken kullanılan veri tipi çok fazla olmasına rağmen bu yazıda en çok kullanılan veri tiplerini sınıflandırarak inceleyeceğiz.

c# veri tipleri

Veri tiplerini incelerken yapılması gereken en temel sınıflandırma Değer ve Referans tipleridir.

C# Değer Tipleri

Doğrudan değer atayabildiğimiz veri tiplerine değer tipleri diyoruz. Bunlara örnek olarak int, char, double, float verilebilir. Bunlar doğrudan sayısal değer veya karakter taşırlar. Bir değer tipli değişken tanımladığınızda sistem otomatik olarak bu değişken için gerekli olan alanı bellekte ayıracaktır. (Allocate).

Aşağıda C# değer tiplerinin listesini görüyoruz.

Tip Değer tipi Aralık Başlangıç Değeri
bool True veya false. True veya False False
byte 8 bit (unsigned) 0 – 255 0
char 16 bit ‘\0’
decimal 128 bit ondalıklı (-7.9 x 1028 – 7.9 x 1028) / 100 – 28 0.0M
double 64-bit akan sayı (+/-)5.0 x 10-324 – (+/-)1.7 x 10308 0.0D
float 32-bit akan sayı -3.4 x 1038 – + 3.4 x 1038 0.0F
int 32-bit işaretli tamsayı -2,147,483,648 – 2,147,483,647 0
long 64-bit işaretli tamsayı -9,223,372,036,854,775,808 – 9,223,372,036,854,775,807 0L
sbyte 8-bit işaretli tamsayı -128 – 127 0
short 16-bit işaretli tamsayı -32,768 – 32,767 0
uint 32-bit işaretsiz tamsayı (+) 0 – 4,294,967,295 0
ulong 64-bit işaretsiz tamsayı (+) 0 – 18,446,744,073,709,551,615 0
ushort 16-bit işaretsiz tamsayı (+) 0 – 65,535 0

C# Değer Tiplerinin nasıl tanımlandığı ile örnekler aşağıda verilmiştir.

using System;

public void Sample() 
{
   int a = 544;
   double b = 44.5;
   bool isAssigned = true;
   byte c = 200;
}

 

C# Referans Tipleri

Referans tipleri doğrudan değeri taşımak yerine bu verilerin referanslarını barındırırlar. Bir diğer deyişle, bu verilerin bellek üzerindeki konumlarını taşırlar. Eğer referans tipinin bellekte gösterdiği yerdeki veri değişirse, bu değişim herhangi bir işlem gerektirmeden değişkene etki eder.

Birkaç referans tip örneği: dynamic, object, string.

Object: C#’ta tüm veri tiplerinin türediği sınıftır. object anahtar kelimesi, System.Object sınıfının bir takma adıdır.

using System;

public void SampleMethod() 
{
    Object o1 = new Object();
    o1 = 100;

    object o2;
    o2 = 100;

    object o3;
    o3 = "merhaba";
}

Görüldüğü üzere object tipindeki bir değişken herhangi bir değeri alabilir.

String: String tipindeki veriye herhangi bir metni atayabiliriz. String veri tipi herhangi bir karakter sınırı yoktur. Devasa boyutlardaki metinleri dahi taşıyabilir. C# dilinde herhangi bir metin ifadesi için kullanılabilecek yegane veri tipi string.

using System;

public void Ornek() 
{
   string str1 = "Merhaba";
   string str2 = "Dünya";
}

String tipindeki değişken tanımlarken kullanılan string anahtar kelimesi System.String sınıfının bir takma adıdır.

Son Notlar

Değişken tanımlama işlemi sizin için basit bir iş gibi gözükebilir. Fakat büyüyen projelerde kullanılacak değişken tiplerinin yanı sıra, değişkenlerde kullandığınız isimler bile önem kazanacaktır.

Değişkenin hizmet edeceği amaca uygun aralıkta tipte olması bir yana, şahsi olarak ingilizce isimli değişkenler tanımlamanızı öneriyorum. İngilizce isimli değişkenler tanımlamak ortak çalışılan projelerde takım arkadaşlarınızla birlikte daha uyumlu bir şekilde çalışmanızı kolaylaştıracak bir alışkanlıktır.

Fazlasını Oku

project types

C# İlk Proje : Visual Studio Kurulumu

C# ile ilk projenizi yapmadan önce Microsoft’un tümleşik geliştirme ortamı (IDE) Visual Studio’yu bilgisayarınıza kurmalısınız.

visualstudio.com adresinden ücretsiz olarak Visual Studio Community sürümünü yükleyebilirsiniz.

Visual Studio kurulumunu yaptıktan sonra ilk C# projemizi oluşturmaya hazırız.

Visual Studio Proje Tipleri

Visual Studio ile geliştirebileceğiniz uygulamaların aslında pek bir sınırı yoktur. Yine de özet bir bilgi olarak Visual Studio ile geliştirebileceğiniz temel uygulamalara örnekler verelim.

project types

Her ne kadar Visual Studio’da geliştirilebilecek proje tipleri çok daha fazla olsa da; bunları bu yazı için 3 ana grupta inceleyelim.

Masaüstü Uygulamaları

Console Application: Konsol uygulamalarıdır. Herhangi bir UI etkileşimi gerektirmeyen programlar oluşturmak istendiğinde kullanılmalıdır. Konsol uygulamalarında tek kullanıcı etkileşimi değer girme işlemidir.

Windows Forms: Windows Forms uygulamaları Windows ortamında geliştirilen temel pencere uygulamalarıdır. WPF ve sonrasında Windows Universal ile birlikte güncelliğini yitirmiş olsa da, bugün Türkiye’de birçok şirket Windows Forms uygulamaları geliştirir.

WPF: Açılımı Windows Presentiation Foundation olan WPF uygulamaları, Windows Forms uygulamalarına biraz modernlik ve özelleştirilebilirlik kazandırmak için geliştirilmiştir.

Windows Universal: Windows 10 ile birlikte duyurulmuştur. Windows Universal uygulamaları ile yazacağınız program tek bir binary ile tüm Windows cihazlarında çalışır. (PC, Tablet, Telefon, XBox, Hololens ve dahası.)

Windows Universal uygulamarında cihaz spesifik küçük ayarlamalar dışında tek bir ortak kodla programınız milyarlarca cihaz üzerinde çalışabilir.

Web Uygulamaları

ASP.NET Web Forms: ASP.NET teknolojisi ile web uygulamaları geliştirmek için kullanılan proje tipidir.

ASP.NET MVC: ASP.NET teknolojisi ile web uygulamaları geliştirmek için kullanılan bir diğer proje tipidir. Model – View – Controller yaklaşımını kullanır. Bugün en popüler web teknolojilerinden biri ASP.NET MVC’dir.

ASP.NET Web API: REST istekleriyle kullanılabilen bir web uygulaması geliştirmek istendiğinde ASP.NET Web API kullanışlı bir tercihtir.

Yardımcı Uygulamalar

Class Library: Birden çok .NET projesinde kullanacağınız kütüphaneleri kodlayıp bunları tek bir pakette farklı projelerinizde kullanmak istediğinizde bir Class Library oluşturursunuz.

Unit Test: Projeleri girdi ve çıktı değerlerine göre doğru değer üretip üretmediğine dayanarak test etmenize olanak sağlayan proje tipleridir.

 

İlk C# Projesi

İlk C# projesi için Console Uygulamasını tercih edeceğiz. Çünkü konsol uygulamaları, bizi arayüz tasarlama gibi gereksiz ayrıntılardan soyutlayarak içeriğe odaklanmamızı sağlayacak.

Visual Studio kurulumunu yaptıktan sonra ilk olarak bir proje oluşturmamız gerekiyor.

new project

File -> New -> Project adımlarını takip ederek proje oluşturma ekranına erişebilirsiniz.

Bu adımları izledikten sonra oluşturacağınız projenin ayrıntılarını seçeceğiniz bir pencere açılacak.

 

 

 

Açılan pencereden Console Application’u seçerek devam edelim. Bu adımı da tamamladığınızda ilk C# projemizi oluşturmuş olacağız.

new project

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IlkProje
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Merhaba dünya.");
            Console.WriteLine("Bu benim ilk C# projem.");
            Console.Read();
        }
    }
}

İlk projemizi oluşturup çalıştırdığımızda ekrana Merhaba Dünya ve Bu benim ilk C# projem yazdığını göreceksiniz.

first c# project

 

Fazlasını Oku

.net framework

.NET Framework & C# Tanımı

.NET Framework Nedir

.net framework

.NET Framework, Microsoft’un 2002 yılında geliştirmiş olduğu uygulama geliştirme altyapısıdır. .NET Framework bir programlama dili değildir. .NET Framework çatısı altında uygulamalarda kullanılmak üzere bulunan kütüphane toplulukları bulunur.

.NET Framework başta Windows platformlarında çalışması için geliştirildi. .NET Core ile birlikte .NET uygulamaları her platformda çalışabilir hale geldi.

C# Nedir

csharp

C#, .NET Framework için geliştirilmiştir high level bir programlama dilidir. Bu, C# sadece .NET Framework çatısı altında çalışabilir demek değildir. C# başka platformlarda farklı amaçlar için de kullanılabilir, fakat C# dili .NET Framework ile birlikte kullanılmak üzere Microsoft tarafından geliştirilmiştir.

C#, high level bir programlama dilidir. Programlama dilleri, makine diline yakınlığı bağlamında low level ve high level olarak sınıflandırılır. Bir programlama dili insan tarafından ne kadar kolay okunabiliyorsa o programlama dili o kadar high level bir dildir.

High level programlama dillerinin makine diline dönüştürülme süreci low level dillere oranla daha uzundur. Tabii bu uzunluklar her ne kadar mikrosaniyeler mertebesinde olsa da, yüksek performans gerektiren işlemlerde bu süreç önem kazanmaktadır.

C# Dilinin Kullanım Alanları

High level programlama dilleri web ve desktop uygulamaları, mobil uygulamalar ve bulut uygulamaları geliştirmek için uygundur. Yani, yüksek grafik performansı gerektiren bilgisayar oyunları dışındaki tüm amaçlara hizmet ederler.

C# dili de diğer high level programlama dilleri gibi akla gelebilecek tüm projelerde kullanılabilir ve kullanım oranı oldukça geniştir.

 

 

Fazlasını Oku