Etiket Arşivi [ C# ] - Sayfa 1 / 1

  1. C# 4.0 Dil Dokümanı

    07/04/2010 21:05 |C# |

    C# dili yeni gelişmeler hazırlanmakta. Geçtiğimiz dönemde yayılan C# 4.0 sürümü, kullanıcılarına birçok olanak sunmaktadır. Bu olanakları hakkında nasıl bilgi sahibi olurum diyorsanız eğer, Microsoft C# 4.0 dili dokumanı yayınlamış bulunmaktadır. Bu yazımda da söz konusu dokumanı sizler ile paylaşmak istemekteyim.

    Microsoft hazırladığı yayınlar ile .Net platformun ve desteklediği dil ailelerini, kullanılması konusunda büyük artı sağlıyor.

    IBRAHIM ATAY

    Saygılarımla

    footer
  2. Fonksiyon Bazlı programlama ve Nesneye dayalı programla Ortaklığı

    21/03/2010 09:28 |C# |

    C# serüvenin sonra F# programlamayı incelemeye başladım. F# fonksiyon bazlı uygulama geliştirmemize sağlayan ve Microsoft ‘ un yeni gül olarak göze çarpan bir programlama dilidir. Genel olarak C# dilinde yaptığımız gibi hazır sınıfları kullanabiliriz.

    F# dilin Nesneye dayalı programlama dili ile nasıl bir yakınlığı vardır ?

    C# 3.0 sürümü ile dile eklene LINQ ile yazdığımız sorgular, derleme aşamasında derleyici sayesinde fonksiyonlar dönüşmektedir.

          List<int> SayList = new List<int>(){ 1,2,3,4,5,6,7,8,9  }; 
           var query = from s in SayList
                                   where s % 2 == 0
                                   select s;
                foreach (var r in query)
                    Console.Write(r.ToString()+"\n");

    Uygulama çalıştığında…

    ekaran_thumb5

    ILDASM(MSIL Disassembler) ile incelendiğinde, yazılan her LINQ sorgusunun fonksiyonlar haline geldiğini ve görmekteyiz.  C# 4.0 da ise bunları tamamıyla betik (yani derlenmeden çalışan – Dinamik kod) şekline olduğunu görmekteyiz. Microsoft ‘ un IroPyton veya IroRuby gibi ile dinamik programlama konusunda, büyük yaklaşımlar benimsemektedir.

    il_thumb2

    Bu yeni teknolojiler ilerleyen dönemlerde asenkron fonksiyonlar ve dinamik kodlama şeklinde dönüşümler meydana gelecektir. Programlama dünyası daha kolay ve test edilebilir yaklaşımlar benimseyecektir.

    IBRAHIM ATAY 

    Saygılarımla

    footer
  3. C# ta Extension Metod Tanımlamak

    21/03/2010 09:09 |C# |

    Extension metod kelime anlamı olarak genişletilmiş metod olarak isimlendirilebilir. Extension metod tanımladığımız veri tütününe göre kolay bir şekilde işlem yapmamıza sağla örneğin string tipler için ToString metodu mevcuttur bir buna ek olarak biz ters çevir metodu geliştire biliriz. Şimdi örnek bir uygulama geliştirelim ve nasıl çalıştığını öğrenelim.

     

    Şimdi VS açalım ve bir Console uygulaması açalım ve örnek olarak bir string tipinde değişken tanımlayalım.

     

    class Program  
    {
      
        static void Main(string[] args)
      
    {      
          string kelime= " MerhAba";  
      
    }
    }

     

    . Projemizi oluşturduktan sonra artık Extension oluşturma kurallarında biraz bahsedelim.

     

    1.      Static bir Class olması gerekir.

    2.      Oluşturduğumuz bu Class public erişim belirtecine sahip olması gerekmektedir.

    3.      Oluşturduğumuz Class ‘ların içerisinde bulunan metodlar da static olması gerekmektedir.

    4.      Metodlar public erişim belirteci ile işaretlenmelidir.

    5.      Metod tanımlarken hitap ettiğimiz veri türünü ifade etmek için metod parametrelerini tanımlarken o veri tipine this anahtar kelimesini yazmamız gerekmektedir.

    6.      this anahtar kelimesi sadece bir veri türüne hitap eder,ama  object veri türüne tanımlandığın  da tüm veri türleri için kullanılabilir.

     

    Bu maddeleri inceledikten sonra  bir  bir static class oluşturalım Extension metod örnekleri oluşturalım.

     

    static class StringMetods 
    {  //this anahtarı etki edeceği veri türü şeklinde tanımlanır.
     
    public static string StrYap(this int say)
     
    {
      
    return say.ToString(); 
     
    }
     
    public static string buyukYaz(this string s) 
     
    {
     
      
    return s.ToUpper(); 
     
    }
     
    public static string kucukYaz(this string s)
     
    {     
      
    return s.ToLower(); 
     
    } 
     
    public static int ToInt32(this string s)
     
    {
       return Convert.ToInt32(s);
     
    } 
    }

     

    Şimdi yazdığımız metodları kullanalım.

     

    class Program 
    {
     
    static void Main(string[] args)
     
    {
         
    string kelime = "MerhAba";
          Console.WriteLine("------Buyuk yaz-------");     
         
    Console.WriteLine(kelime.buyukYaz());
         
         
    Console.WriteLine("------kucuk yaz-------");
         
         
    Console.WriteLine(kelime.kucukYaz());
         
         
    Console.ReadLine();
        
     
    }

    }

      

    Şimdi ekran çıktısını görelim.

     

    footer