film indir

Archive for the 'C# (csharp)' Category

Ocak
5th 2008
Temsilci(Delegate) Kavramına Giriş

Posted under C# (csharp)

Bugünkü makalemizde, C# programlama dilinde ileri seviye kavramlardan biri olan Temsilcileri(delegates) incelemeye başlayacağız. Temsilciler ileri seviye bir kavram olmasına rağmen, her seviyden C# programcısının bilmesi gereken unsurlardandır. Uygulamalarımızı temsilciler olmadan da geliştirebiliriz. Ancak bu durumda, yapamıyacaklarımız, yapabileceklerimizin önüne geçecektir. Diğer yandan temsilcilerin kullanımını gördükçe bize getireceği avantajları daha iyi anlayacağımız kanısındayım. Bu makalemizde temsilcileri en basit haliyle anlamaya çalışıcağız.

Temsilci (delegate), program içerisinde bir veya daha fazla metodu gösteren(işaret eden), referans türünden bir nesnedir. Programlarımızda temsilciler kullanmak istediğimizde, öncelikle bu temsilcinin tanımını yaparız. Temsilci tanımları, arayüzlerdeki metod tanımlamaları ile neredeyse aynıdır. Tek fark delegate anahtar sözcüğünün yer almasıdır. Bununla birlikte, bir temsilci tanımlandığında, aslında işaret edebileceği metod(ların) imzalarınıda belirlemiş olur. Dolayısıyla, bir temsilciyi sadece tanımladığı metod imzasına uygun metodlar için kullanabiliceğimizi söyleyebiliriz. Temsilci tanımları tasarım zamanında yapılır. Bir temsilciyi, bir metodu işaret etmesi için kullanmak istediğimizde ise, çalışma zamanında onu new yapılandırıcısı ile oluşturur ve işaret etmesini istediğimiz metodu ona parametre olarak veririz. Bir temsilci tanımı genel haliyle, aşağıdaki şekildeki gibidir.

Continue Reading »

No Comments »

Ocak
5th 2008
Arayüz(Interface) Kullanımına Giriş

Posted under C# (csharp)

Bugünkü makalemizde, nesneye dayalı programlamanın önemli kavramlarından birisi olan arayüzleri incelemeye çalışacağız. Öncelikle, arayüz’ün tanımını yapalım.

Bir arayüz, başka sınıflar için bir rehberdir. Bu kısa tanımın arkasında, deryalar gibi bir kavram denizi olduğunu söylemekte yarar buluyorum. Arayüzün ne olduğunu tam olarak anlayabilmek için belkide asıl kullanım amacına bakmamız gerekmektedir.

C++ programlama dilinde, sınıflar arasında çok kalıtımlılık söz konusu idi. Yani bir sınıf, kalıtımsal olarak, birden fazla sınıftan türetilebiliyordu . Ancak bu teknik bir süre sonra kodların dahada karmaşıklaşmasına ve anlaşılabilirliğin azalmasına neden oluyordu. Bu sebeten ötürü değerli Microsoft mimarları, C# dilinde, bir sınıfın sadece tek bir sınıfı kalıtımsal olarak alabileceği kısıtlmasını getirdiler. Çok kalıtımlık görevini ise anlaşılması daha kolay arayüzlere bıraktılar. İşte arayüzleri kullanmamızın en büyük nedenlerinden birisi budur.
Continue Reading »

No Comments »

Ocak
4th 2008
C# ile Çok Kanallı(Multithread) Uygulamalar - 4

Posted under C# (csharp)

Bundan önceki üç makalemizde iş parçacıkları hakkında bilgiler vermeye çalıştım, bu makalemde ise işimize yarayacak tarzda bir uygulama geliştirecek ve bilgilerimizi pekiştireceğiz. Bir iş parçacığının belkide en çok işe yarayacağı yerlerden birisi veritabanı uygulamalarıdır. Bazen programımız çok uzun bir sonuç kümesi döndürecek sorgulara veya uzun sürecek güncelleme ifadeleri içeren sql cümlelerine sahip olabilir. Böyle bir durumda programın diğer öğeleri ile olan aktivitemizi devam ettirebilmek isteyebiliriz. Ya da aynı anda bir den fazla iş parçacığında, birden fazla veritabanı işlemini yaptırarak bu işlemlerin tamamının daha kısa sürelerde bitmesini sağlıyabiliriz. İşte bu gibi nedenleri göz önüne alarak bu gün birlikte basit ama faydalı olacağına inandığım bir uygulama geliştireceğiz.

Olayı iyi anlayabilmek için öncelikle bir milat koymamız gerekli. İş parçacığından önceki durum ve sonraki durum şeklinde. Bu nedenle uygulamamızı önce iş parçacığı kullanmadan oluşturacağız. Sonrada iş parçacığı ile. Şimdi programımızdan kısaca bahsedelim. Uygulamamız aşağıdaki sql sorgusunu çalıştırıp, bellekteki bir DataSet nesnesinin referans ettiği bölgeyi, sorgu sonucu dönen veri kümesi ile dolduracak.

Continue Reading »

No Comments »

Ocak
4th 2008
C# ile Çok Kanallı(Multithread) Uygulamalar - 3

Posted under C# (csharp)

İş parçacıklarını işlediğimiz yazı dizimizin bu üçüncü makalesinde, iş parçacıklarının birbirlerine karşı öncelik durumlarını incelemeye çalışacağız. İş parçacıkları olarak tanımladığımız metodların çalışma şıralarını, sahip oldukları öneme göre değiştirmek durumunda kalabiliriz. Normal şartlar altında, oluşturduğumuz her bir iş parçacığı nesnesi aynı ve eşit önceliğe sahiptir. Bu öncelik değeri Normal olarak tanımlanmıştır. Bir iş parçacığının önceliğini değiştirmek istediğimizde, Priority özelliğinin değerini değiştiririz. Priority özelliğinin .NET Framework’teki tanımı aşağıdaki gibidir.

public ThreadPriority Priority {get; set;}
Continue Reading »

No Comments »

Ocak
4th 2008
Visual Basic’ten C#’a Geçiş

Posted under C# (csharp) & Visual Basic

Merhaba, bunca zamandır Visual Basic kullanan biri olarak .NET’e geçerken Visual Basic’i seçtim. Daha çok Web Programıyla ilgilendiğim için internette yyaptığım aramalarda aspx örneklerinin büyük bir çoğunluğunun C# ile hazırlandığını gördüm. Daha sonra bazı makaleler kurcaladım. C#’ın geleceğin dili olduğu fikrine vardım.Elime geçen bir kaç ufak kod üzerinde inceleme yapmaya başladım. Yaptıklarımı sizlerle paylaşmak istedim. Bunu yaparken VB.Net’i orta seviye bilen, C#’ı hiç bilmeyen programcıları düşünerek hazırladım.

İlk dikkatimizi çekecek olan Syntax(Sözdizimi) olacaktır. VB ile en önemli farklılık buradan geliyor. Bu noktada bazı önemli noktaları açıklayacağım.
Yorum satırları: Yorum yazmak için iki farklı metod var. İlki tek satır diğeri blok halinde yazılır.

//Bu bir satırlık yorumdur.
Continue Reading »

No Comments »

Next »