Şubat 2010 Seminerleri / C# 4.0 Yenilikleri – 2

BilgeAdam Kadıköy Şubesinde gerçekleştirdiğim Şubat Seminerlerinin ikincisinin prezentasyonuna ve proje kodlarına buradan erişebilirsiniz.

Bu seminerde değindiğim konular;

  • Dynamics (DLR)
  • Lazy Sınıfı
  • COM İyileştirmeleri
  • Task Parallel Library (TPL)
  • ASP.NET 4.0 Yenilikleri
  • SEO İyileştirmeleri
  • Dynamic Data Web Site

Powerpoint Prezentasyonu

Visual Studio 2010 Kodları

C# iki koddan hangisini tercih edersiniz?

Aşağıdaki kodlardan hangisini yazmayı tercih edersiniz?

bool loginSuccessful;

if (NetworkAvailable()) loginSuccessful= LogUserOn(); else loginSuccessful= false;</pre>

veya

bool loginSuccessful= NetworkAvailable() && LogUserOn();


İki yazım şekli de **aynı sonucu üretir**. **Siz** olsanız hangisini tercih ederdiniz?

Şubat 2010 Seminerleri / C# 4.0 Yenilikleri - 1

BilgeAdam Kadıköy Şubesinde gerçekleştirdiğim Şubat Seminerlerinin ilkinin prezentasyonuna ve proje kodlarına buradan erişebilirsiniz.

Bu seminerde değindiğim konular;

  • C# Tarihçesi
  • Linq İyileştirmeleri (Zip operatörü)
  • ThreadPool İyileştirmeleri
  • Named ve Optional Parameters
  • Expando Objects
  • Tuples
  • Code Contracts Powerpoint Prezentasyonu

Visual Studio 2010 Kodları

C# String Dizisini String Uzunluğuna Göre Sıralama

C# ile string dizisini elemanların uzunluğuna göre sıralama için aşağıdaki kod kullanılabilir;

private IList<string> SortStringLength(IList<string> arrString) { string[] tmpString = arrString.ToArray<string>(); Array.Sort(tmpString, new Comparison<string>(delegate(string str1, string str2) { if (str1 == null && str2 == null) return 0; ///iki değişkende null else if (str1 == null) return -1; ///birinci değişken null else if (str2 == null) return 1; ///ikinci değişken null else { if (str1.Length < str2.Length) return -1; ///birinci değişken daha kısa else if (str1.Length > str2.Length) return 1; ///ikinci değişken daha kısa else return str1.CompareTo(str2); ///iki değişken aynı uzunlukta, alfabetik sıralama yapılıyor } }));

return tmpString; }</pre>
string[] OrnekDizi = { "333", null, "1", "22", "12", "4444" };
OrnekDizi = (string[])SortStringLength(OrnekDizi);

foreach (string s in OrnekDizi)
    Console.WriteLine(s);

// Console Çıktısı:
// [null]
// 1
// 12
// 22
// 333
// 4444


Bu kodu kullanarak sıraladığınız string dizisinde, elemanlar önce uzunluklarına göre sıralanacaktır. Aynı uzunlukta olan elemanlar ise alfabetik dizilime göre sıralanacaktır.

Kısa Sınav - 14

Kısa bir soru;

var x = 10;

x += x- -;

x değeri ne olur?

Sorunun doğru cevabı için;

Cevap 19 değil. Doğru cevap 20 olmalı.

Neden 20 olduğunu ben de tam olarak bilmiyorum, ama IL koduna baktığımızda aşağıdaki sonucu görüyoruz;

ldc.i4.s 10 ; [10] stloc.0     ; [] ldloc.0     ; [10] ldloc.0     ; [10, 10] dup         ; [10, 10, 10] ldc.i4.1    ; [10, 10, 10, 1] sub         ; [10, 10, 9] stloc.0     ; [10, 10] add         ; [20] stloc.0     ; []

x değişkeni işlem sonucunda 20 değerine sahip gözüküyor. Yorumlarınızı bekliyorum.

Engin Polat hakkında

Chief Architect, Microsoft RD, Microsoft MVP

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 458

Creative Commons Lisansı