14 Mayıs 2016 Cumartesi

Csharp'ta .Value Kullanımı -42


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(); } } }

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); } } }