Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Veri tipleri

Yazar: Fikret AKIN

Kategori: C#.NET & VB.NET

Eklenme Tarihi: 22.05.2007 14:45:00

VB.Net de veri tiplerini anlaticagim.
Veri tipi nedir? Degiskenlerin tuttuklari değerlerin türünü ve bellekte tutulacak büyüklügünü tanimlar. Degiskenleri veri tipleri ile tanimlarken verinin büyüklügüne göre bir veri tipi seçilmelidir.

Veri Tipi

Büyüklük

Boolean

2 byte

Byte

1 byte

Char

2 byte

Date

8 byte

Double

8 byte

Decimal

16 byte

Int16 (Short)

2 byte

Int32 (Integer)

4 byte

Int64 (Long)

8 byte

Single

4 byte

String


Double ve Single veri tiplerinin araliginda belirtilen “E + sayi” ifadesi, 10 ^ sayi ile çarpilacagini belirtir. Örnegin 12 E-3 ifadesi, 12 * 0.001 anlamina gelir.

-1.2E-10 = -0.00000000012

-1.2E+10 = -12000000000.0

0.7432E+2 = 74.32

7432E-3 = 7.432

Örnek Uygulamamiz;

Yeni proje açtiktan sonra asagidaki gibi formumuza 11 adet label yerlestirelim.



Form un bos bir yerinde çift tiklayarak kod kismina geçelim.

Kod kismina asagidaki gibi dolduralim.

Dim yazi As String = "Veri Tipleri Örnek Uylamamiz"

Dim bool As Boolean = True

Dim karakter As Char = "A"

Dim tarih As Date = #4/5/2007#

Dim numerik As Decimal = -123456789

Dim cift As Double = -1.234E-120

Dim tek As Single = 3.32E+100

Dim bayt As Byte = 255

Dim kisaSayi As Short = -32000

Dim tamSayi As Integer = 2000000000

Dim uzunSayi As Long = -123456789123456789

Label1.Text = yazi

Label2.Text = bool

Label3.Text = karakter

Label4.Text = tarih

Label5.Text = numerik

Label6.Text = cift

Label7.Text = tek

Label8.Text = bayt

Label9.Text = kisaSayi

Label10.Text = tamSayi

Label11.Text = uzunSayi

Daha sonrada F5 ile projemizi çalistiralim.

Uygulamalar çalisirken, çogu zaman veri tipleri birbirlerine otomatik olarak dönüstürülür.

Örnek olarak InputBox geriye String tipinde bir değer döndürür. Ancak kullanici mesaj kutusuna sayi girerse ve biz bu değeri Integer tipinde bir degiskene atarsak, veri dönüstürme işlemi yapilir. Buna Implicit Conversion (kapali dönüstürme) denir.

Dim Sayi As Integer

Sayi = InputBox("Sayi giriniz")

Büyük veri tiplerinden küçük veri tiplerine dönüsüm sirasinda, değer kayiplari meydana gelebilmektedir. Örnek olarak Single tipinden Short tipine yapilacak bir dönüsümde virgülden sonraki sayilar kaldirilacaktir.

Dim virgullu As Single = 1.12

Dim kisaSayi As Short = virgullu ' kisaSayi degiskenin son değeri 1 olur

Bu arada Option Strict seçenegi On olarak ayarlanirsa, Implicit Conversion işlemine izin verilmez.

Veri dönüstürme işlemlerinin kapali olarak yapilmasi sisteme birakilmistir. Bu işlemde kodlarin tekrar okunmasi sirasinda dönüstürme işlemleri gözden kaçabilir ve değer kayiplari fark edilmez. Bu durumda dönüstürme işlemleri hazir fonksiyonlar ile açik olarak yapilmalidir. Buna Explicit Conversion (açik dönüstürme) denir.

Dim rastgeleSayi As Double = Rnd() * 30

MsgBox(rastgeleSayi)

Dim rastgeleTamSayi As Integer = CInt(rastgeleSayi)

MsgBox(rastgeleTamSayi)

Explicit Conversion fonksiyonlari:

* CStr. Verilen değeri String tipine dönüstürür.

* CInt. Integer veri tipinin alabilecegi değerler arasinda girilen sayilari Integer tipine dönüstürür.

* CDbl. Double veri tipinin alabilecegi değerler arasinda girilen sayilari Double tipine dönüstürür.

* CDate. Dogru tarih ve saat biçimde yazilmis herhangi bir ifadeyi Date tipine dönüstürür.

* CLng. Long veri tipinin alabilecegi değerler arasinda girilen sayilari Long tipine dönüstürür.

* CSng. Single veri tipinin alabilecegi değerler arasinda girilen sayilari Single tipine dönüstürür.

* CDec. Decimal veri tipinin alabilecegi değerler arasinda girilen sayilari Decimal tipine dönüstürür.

Sayi dönüstürme fonksiyonlari, True Boolean tipini -1, False Boolean tipini 0 olarak dönüstürür. Ayrica tüm fonksiyonlar, düzgün biçimde verilmis String tipinde degiskenleri de ilgili veri tipine degistirir.

Dim sayi As Integer = CInt("12345abc")

' InvalidCastException hatasi olusur.

Baska makalede görüşmek üzere..

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.