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();
}
}
}
14 Mayıs 2016 Cumartesi
Csharp'ta Out'lu ve Out'suz Arası Farkın İncelenmesi II -37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _23
{
class Program
{
public static void Main()
{
int i = 0; //1
Program.simpleMethod(i);
//i değeri j ye dönüşmeyecek. yani i = 0 yazılacak..
Console.WriteLine(i);
Console.ReadKey();
}
public static void simpleMethod(int j) //2//
{
j = 101; //3//
Console.WriteLine("Metodunuz çalıştı!");
// metodun çalıştığını görmek için ekrana bir metin yazdıralım.
}
//Görüleceği üzere; i'nin değeri değişmemiştir ve ekrana i = 0 değeri yazılmıştır.
}
}
Csharp'ta out kullanımı I -34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace ConsoleApplication9
{
class Program
{
public static void Main(string[] args)
{
//Örnek 2
int büyükSayi;
int sayi = 5;
int metottanDönenMaxDeger = Maksimum(7, 8, out büyükSayi);
Console.WriteLine("Büyük olan sayı şudur: {0}", büyükSayi);
Console.ReadKey();
}
static int Maksimum(int birinciSayi, int ikinciSayi, out int büyükSayi)
{
if (birinciSayi > ikinciSayi)
{
büyükSayi = birinciSayi;
}
else
{
büyükSayi = ikinciSayi;
}
return Math.Max(birinciSayi, ikinciSayi);
}
}
}
Csharp'ta out kullanımı II -35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace ConsoleApplication9
{
class Program
{
public static void Main(string[] args)
{
//Örnek 3
int büyükSayi;
int carpimi = 0;
Console.Write("Birinci sayıyı giriniz: ");
var secilenBirinciSayi = int.Parse(Console.ReadLine());
Console.Write("İkinci sayıyı giriniz: ");
var secilenİkinciSayi = int.Parse(Console.ReadLine());
int metoddanDönenBüyükSayi = Maksimum(secilenBirinciSayi, secilenİkinciSayi, out büyükSayi, out carpimi);
Console.WriteLine("Seçtiğin {0} ve {1} sayıları arasından büyük olan sayı şudur: {2}", secilenBirinciSayi, secilenİkinciSayi, metoddanDönenBüyükSayi);
Console.WriteLine();
Console.WriteLine("Büyük sayının beş ile çarpımı şudur : {0}", carpimi);
Console.ReadKey();
}
static int Maksimum(int birinciSayi, int ikinciSayi, out int büyükSayi, out int carpimi)
{
if (birinciSayi > ikinciSayi)
{
büyükSayi = birinciSayi;
carpimi = (büyükSayi * 5);
}
else
{
büyükSayi = ikinciSayi;
carpimi = (büyükSayi * 5);
}
return Math.Max(birinciSayi, ikinciSayi);
}
}
}
Kaydol:
Kayıtlar (Atom)