»
Y
A
N
M
E
N
Ü
«
Maziye gittim şöyle bir
ibrahim dursun @ 11 Ekim 2007 22:43

İlk çıktığında Visual C# 2008 Express Edition Beta 2′yi indirmiştim ama fırsat buldukça kurcalıyordum. Özellikle WPF’yi kurcalıyorum fakat henüz beta olduğu için sürekli göçüp duruyor hatta belli bir zaman sonra doğru yazdığım XAML’i bile derleyemez hale geliyor ve hatalı olduğunu söylerek beni yanıltıyordu. Ben de bir süre WPF’ye ara verdim ve diğer yenilikleri inceleye başladım.

Mesela LINQ. Deneme olsun diye bir klasör içinde yer alan dosyalardan adında önce o sonra a harfi geçen kaç tane var bir saydırayım dedim. Efendim oldu bitti. Yaptım, gözlerim karardı bir an ve şöyle bir maziye gittim, taa pascal günlerine…

Turbo Pascal veya Delphi veya dinamik olmayan herhangi bir dilde bu işi yapmak için en az 5-10 satır kod yazmak lazım. Peki bu işlem c# 3.0′da kaç satır? Bu yazıyı yazdığıma göre 5 satırdan kısa ve büyük ihtimalle 1 satır. Evet bildiniz, ben kod ekrandan taşmasın diye birkaç satıra bölüp yazıyorum buraya ama aslında 1 satır.

Console.WriteLine(
  new DirectoryInfo(@"c:\downloads")
  .GetFiles()
  .Count(f => Regex.IsMatch(System.IO.Path.GetFileName(f.Name), "o.*a"))
);

Aynı dosyaların toplam boyutu??

Console.WriteLine(
  new DirectoryInfo(@"c:\downloads")
  .GetFiles()
  .Where(x => Regex.IsMatch(System.IO.Path.GetFileName(x.Name), "o.*a"))
  .Sum(x => x.Length)
);

Hiçbir döngü yok.


2 Yorum  
Hanife
8 Aralık 2007 20:27

Güzel bir makele olmuş.

ibrahim dursun
10 Aralık 2007 00:58

Teşekkür ederim.

Makale niyetine yazmadım da, Delphi ile uğraşırken harcadığım zamana yandım biraz :)

Bir yorum bırakın

»  Substance: WordPress   »  Style: Ahren Ahimsa