using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
int? nullableSayi = 2;
// Burada kullanılan ? nin anlamı : int'in değeri
// Null da olabiir demektir.
int sayi = 3;
nullableSayi = sayi;
// Yukarıdaki satırdaki kullanım yanlış olmaz. Çünkü
// Nullable olan değişkenimiz (nullableSayi);
// integer'e eşitlenebilir. Fakat tam tersi bir kullanım
// yanlış olacaktır. Örneğin aşağıdaki satır:
sayi = nullableSayi; //Yanlış Kullanım
// Bu satır şu hatayı veriyor: Cannot convert
// source type... Nullable<int> to int
// Yani; integer'in değerini nullable-int e atamazsın,
// diyor ki bu doğru. Çünkü integer --> null değer alamaz.
// Bu durumda bizim yapmamız gereken, sorun çıkaran bu
// nullable-int değerimizin (nullableSayi)
// sadece DEĞERİNİ almak (Value). Şöyle ki;
sayi = nullableSayi.Value; //Doğru Kullanım
// Sonuç:
// int --> nullable-int 'e eşitlenemez.
// nullable-int --> int'e eşitlenebiir.
Console.WriteLine(sayi);
Console.ReadKey();
// Örnek 2
int? nullableSayii = 5;
int sayii = 10;
sayii = nullableSayi; //yanlış kullanım
sayii = nullableSayii.Value;
Console.WriteLine(sayii);
// Örnek ^3
int? nullableSayiii;
int sayiii = 4;
sayii = nullableSayiii.Value;
// Bu durumda yine kodumuz hata veriyor. Çünkü
// 'nullableSayiii' değişkeninden çekilecek bir Value yok.
// integer'e Null değer veremeyeceğimizi hatırlayalım.
Console.ReadKey();
}
}
}
Hiç yorum yok:
Yorum Gönder