IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C# (https://www.ircforumlari.net/c/)
-   -   C# Object veritipi (https://www.ircforumlari.net/c/472438-c-object-veritipi.html)

OzGuR 12 Nisan 2012 01:53

C# Object veritipi
 
Object veri tipi nedir , kısada olsa bir göz atmak için iyi bir makale diyebilirim.

Kod:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ObjectVeriTipi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //C# programlama dilinin dogasi geregi, tum veri tiplerinin atasi (dogdugu yer) object veri tipidir. Int32, String, Button, Form, Random gibi nesneler kendine ait ozellikleri olsa bile, aslında temelde birer object olarak kabul edilir...

            string sinif = "35103";

            object objSinif = "35103";

            int sayi = 25;

            object objSayi = 25;

            //Her ne kadar objSinif adli degiskenin, bir string oldugundan emin olsakda, sistem onu string onu kabul etmemektedir. İlgili nesnenin uzerine gercek veri tipine ait ozelliklerini yuklemenin iki yolu vardir...

            //MessageBox.Show(objSinif); => cannot convert from 'object' to 'string' hatası alırız!

            //MessageBox.Show(objSinif.ToString());

            //CAST ISLEMI: Rol degistirme islemi. Eger ilgili verinin veri tipinden yuzde yuz emin isek, cast islemine basvurabiliriz.
            //NEDEN CAST ISLEMİNE İHTİYAC DUYARIZ?
            //Convert sinifi, icerisinde ontanimli veri tiplerine cevirme yapan metotlari tutmaktadir. toInt32, toString, toBoolean gibi... Ancak toButton, toListBox gibi metotlar yer almamaktadır. Bu sebeple Convert sinifi bize cevap vermez.. Bunun yerine kullanmamiz gereken yapi, cast yapisidir..

            //int sonuc = (int)objSinif;  => objSinif'in asil veri tipi string olarak uygulama patlayacaktir...
            int sonuc2 = Convert.ToInt32(objSinif);

            //BOXING => Spesifik bir veri tipinin object tipine donusturulmesi islemidir...
            object btn = new Button();
            //UNBOXING => Object tipindeki verinin, kendine ait veri tipine donusturulmesi islemidir...
            Button gelen = (Button)btn;

            //Asagidaki islem de bir cast islemidir... Sadece referans tipler icin kullanilabilir..
            Button gelen2 = btn as Button;
            object objSayicik = 12;
            //int gelenSayicik = objSayicik as int; => Alacagimiz hata "as anahtar kelimesi yalnizca referans tipler ve nullable (bos gecilebilir) tipler icin kullanilir"...
            int gelenSayicik = (int)objSayicik;

        }
    }
}



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:29.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net