Linq ile Gruplama

.NET’te yer alan ve bence en kullanışlı teknolojilerden biri olan Linq kütüphanesi ile istediğimiz koleksiyon gruplamak çok kolaydır.

Tek kolona göre gruplama:

var groupedCustomers = Customers.GroupBy(f => f.City);

Birden fazla kolona göre gruplama:

var groupedCustomers = Customers.GroupBy(f => new { f.City, f.Country });

Olay Tabanlı Asenkron Metotları “Task” Tabanlı Hale Getirme

.NET 4.5 ile gelen ve asenkron programlamayı oldukça kolaylaştıran “await” komutunu kullanabilmek için metodumuzun “Task” tabanlı olması gerekmekte. Aşağıdaki örnekteki gibi bunu başarabiliyoruz.

Olay Tabanlı Metot:

public void DoSomeAsyncJob(string someInput, Action<bool> onCompleted){}

“Task” Tabanlı Metot:

public Task<bool> DoSomeAsyncJob(string someInput)
{
     var t = new TaskCompletionSource<bool>();

     DoSomeAsyncJob(someInput, f => t.TrySetResult(f));

     return t.Task;
}