5.00 / 1 oy

C# Object Sınıfı Kullanımı ve Örnekleri

C#, nesne yönelimli bir dil olduğu için geliştirdiğimiz tüm programlar nesneler ve sınıflar içerir.

Object, .NET Framework içerisinde tanımlı bir sınıftır ve .NET'in ilk geliştirildiği versiyondan beri varlığını korumaktadır. Daha da önemlisi, .NET'te aslında bildiğimiz her şey Object sınıfından türemiştir. Dolayısıyla tüm sınıfların en üstünde yer alır ve .NET'te yer alan her şey aslında bir object'tir.

Bir object nesnesinin tipini öğrenebilmek için GetType metodunu kullanabiliriz.

Object obje = new object();
System.Console.WriteLine(obje.GetType()); //System.Object

Şimdi benzer bir örnek daha yapalım, ama tek bir satır kod daha ekleyelim ve neler değişiyor bakalım.

Object obje = new object();
obje = 5;
System.Console.WriteLine(obje.GetType()); //System.Int32

O zaman object sınıfından doğrudan ürettiğimiz nesneler istediğimiz her şekle geliyorsa neden o kadar çok değişken türü seçmek ile uğraşıyoruz? Bu sorunun yanıtı için de üstteki koda bir satırlık basit bir işlem ekleyelim.

Object obje = new object();
obje = 5;
System.Console.WriteLine(obje.GetType()); //System.Int32
obje++; //Hata

Hata mesajı: Operator '++' cannot be applied to operand of type 'object'

Not: Object bir nesne içerisinde saklanan bir değer Boxing işlemine tabi tutulur, dolayısıyla o değeri veri tipi ile birlikte (örneğin int için toplama gibi) bir işleme tabi tutabilmek için Unboxing işlemi uyglanmalıdır.

Kodumuzu aşağıdaki gibi düzenlediğimizde işlem hatasız olarak tamamlanacaktır.

Object obje = new object();
int sayi = 5;
obje = sayi; //Boxing
sayi = (int)obje; //Unboxing
System.Console.WriteLine(sayi); //5

Önceki yazılarımdan bazıları için;

bkz: C# ile pürüzlü dizi (jagged array) kullanımı

bkz: C# Sınıf ve Nesne Nedir?

bkz: C# Kurucu (Constructor) Nedir?

bkz: C# Özellik (Property) Nedir?

bkz: C# ile Medyan (Ortanca Değer) Bulmak

bkz: C# ile String'in son karakterini silmek ya da değiştirmek

mbologlu

19.04.2021 00:13

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Object Sınıfı Kullanımı ve Örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.