Deneysel amaçlı yazdığım extension method’lardan biridir;
namespace Extensions { public static class ExtensionManager { public static bool SadeceOkunabilir(this DirectoryInfo Dizin) { if (Dizin == null) throw new ArgumentNullException(“Dizin parametresi boş olamaz”);
return (Dizin.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly;
}
} }
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;
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?
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# 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.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484