Mar142009

C# da Array List Kullanımı

Yusuf Karakaş tarafindan 22:18 tarihinde C# kategorisine eklenmistir.

System ad uzayı içinde yer alan Array C# daki tüm diziler için temel bir sınıftır.Array metotları kullanılarak standar diziler veya kendi oluşturduğumuz dizileri kullanabiliriz.System.Collection uzayı içinde kullanılabilir arayüzler şunlardır.IClonable,ICollection,IEnumarable ve IList.

Dizilerde Sıralama ve Arama İşlemleri

 En sık kullandığımız yapıların başında takdir edersiniz ki sıralama gelir.Hal böyle oluncada Array sınıfı ile sıralama metotlarından oluşan büyük bir bölümü destekler.Array içinde Sort() özelliği ile sıralamaya dair birçok işlemi çok rahat biçimde gerçekleştirebiliyoruz. Öyle ki bir diziyi veya dizi içindeki herhangi bir keyword u sıralayabiliriz. BinarySearch özelliğini kullanarak da son derece hızlı ve kullanışlı aramalar yapabiliriz.Şimdi bu metodları kapsayan bir uygulamayı inceleyelim.

 

using System;
namespace dmarraylist
{
    class Program
    {
        public static void Main()
        {
            int[] numaralar = { 1, 2, 9, 54, -7, 257, 0, 12, 84, 21, -765 };
            
            Console.Write("Normal Hali:");  //Orjinal hali
            foreach (int i in numaralar)
            {

                Console.Write(i + "");
                Console.WriteLine();
            
            }
            Array.Sort(numaralar);  //Numaralar adlı diziyi sırala

            Console.Write("Sıralanmış hali:");
            foreach (int i in numaralar)
            {

                Console.Write(i + "");
                Console.WriteLine();

            }
            int dm = Array.BinarySearch(numaralar, 12);  // !2 yi ara
         
            Console.WriteLine("Arama Sonuçları:" + dm);

        }
    }
}


  

Dizileri Terse Çevirme İşlemi

Çoğu zaman dizilerle uygulama yaptığımızda terse çevirme yani reverse işlemini kullanırız.Bunu default olarak yapmak istediğimizde array yapısına göre oldukça zahmetli olucaktır. Örneğin artan sırada sıralanmış bir diziyi , azalan sırada bir diziye dönüştürebiliriz.Aynı zamanda random olarak da değerler döndürebiliriz.Şimdi bu söylediklerimizi aşağıdaki uygulamamızda görelim.

 
  

using System;


namespace dmarraylist
{
    class reverse
    {
        public static void main()
        {
            int[] numaralar = { 1, 2, 3, 4, 5, 6, 7 };


            Console.Write("Orjinal Sıra:");  //Orjinal Sıra
            foreach (int i in numaralar)
            {

                Console.Write(i + "");
                Console.WriteLine();
               
            
            }
                   
               Array.Reverse(numaralar); //Bütün diziyi terse çevir.
            
            
            Console.Write("Tersten Sıralı Dizi:"); // Tersten Sıralanmış diziyi göster.
            
            foreach (int i in numaralar)
            {
                Console.Write(i + "");
                Console.WriteLine();
            
            }

            Array.Reverse(numaralar, 3, 6);  //Belirlenen aralığı ters çevir.

            Console.Write("İstenilen Sıra:");
            foreach (int i in numaralar)
            {

                Console.Write(i + "");
                Console.WriteLine();
            
            }

        
        }

    }
}
  

Dizilerde Kopyalama İşlemi

Yine yukarıdaki verilere ek olarak dizi kopyalama işlemleri de , array sınıfı ile çok rahat bir şekilde yapılmakta.Bir diziyi, başka bir diziye kopyalamak yaygın olarak kullandığımız yöntemlerdendir.Aşağıdaki uygulamamızla ne kadar kolay bir şekilde kopyalama işlemi gerçekleştireceğimizi görelim

 

  

using System;


namespace dmarraylist
{
    class copy
    {
        public static void main()
        {
            int[] kaynak = { 1, 2, 3, 4, 5, 6, 7 };
            int[] kopya = { 15,16,17,18,19,20 };
            int[] kaynak2 = { -1, -2, -3, -4, -5, -6, -7 };

            Console.Write("Kaynak Dizi:");  //Kaynağı göster
                foreach(int i in kaynak)
                {
                    Console.Write(i + "");
                    Console.WriteLine();
                
                }
                
                 Console.Write("Kopya Dizi:");//Kopyayı göster
                foreach(int i in kopya)
                {
                    Console.Write(i + "");
                    Console.WriteLine();
                
                }

                Array.Copy(kaynak, kopya, kaynak.Length); //Bütün diziyi topla...

                Console.Write("Kopya Dizi:"); //Kopyayı göster.
                foreach (int i in kopya)
                {
                    Console.Write(i + "");
                    Console.WriteLine();

                }
                Array.Copy(kaynak2, 2, kopya, 3, 2); //Belirlenen hedefin ortasına kopyala.

                Console.Write("Kopya Dizi:"); //Kopyayı göster
                foreach (int i in kopya)
                {
                    Console.Write(i + "");
                    Console.WriteLine();

                }
        }

    }
}


  

Bu makalemizinde sonuna geldik.Görüldüğü gibi C# kullanarak Array sınıfı ile işlemleri gerçekleştirmek son derece basit.Sizin için bir referans olacağını düşünüyorum. Saygılarımla....
Yusuf KARAKAŞ



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler: , ,

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 2 Yorum

Şub072009

C# da Overload Kavramına Giriş

Yusuf Karakaş tarafindan 21:27 tarihinde C# kategorisine eklenmistir.

Bu makalemizde C# ın zengin içeriğine dahil olan OverLoad kontrolünü inceleyeceğiz.

Overload Nedir?

En basit tanımıyla tanımlanan iki ayrı methodun isimlerinin aynı , parametre olarak tiplerinin farklı olmasıyla ortaya çıkan yapıdır.

Methodlar için bahsettiğimiz bu işlem aynı zamanda fonksiyonlar için de geçerlidir.

Şimdi bu çerçevede bir uygulama ile kavramları açığa kavuşturalım.

 Uygulama 

public static void Main()


   {            

          Developermania  deneme= new Developermania(); 

            Console.Writeline(deneme.testmethodumuz("İlk Methodumuz"));

            Console.WriteLine(deneme.testmethodumuz(2));

 }     

    public string testmetodumuz(string yenimesaj)



  string mesaj=("String değere sahip methodumuz="+ yenimesaj);

 return mesaj;             

}

 public string testmethodumuz(int sayimiz)

{ 

 string mesaj = ("İnteger değere sahip methodumuz=" + sayimiz);

 return mesaj;


}  

  Yukarıda da  görüldüğü gibi aynı isimli iki methodumuzu parametrik değerleri farklı olduğu için çağırabiliyoruz.

 Aslına bakılırsa program içerisinde çoğu kez istemiyerek de olsa overload işlemini kullanırız.

Çoğu zaman console writeln’e ait string veya int değerleri feedback yaptığımızda olumlu sonuç alırız.

Ancak bu işlemler overload yapısı ile birkaç yerde kullanmamıza olanak sağlar.
 Diğer makaleler ile görüşmek üzere saygılarımla…

Yusuf KARAKAŞ



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler: ,

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 2 Yorum

Oca162009

C# da String Fonksiyonları

Yusuf Karakaş tarafindan 00:20 tarihinde C# kategorisine eklenmistir.

   C# da string fonksiyonları belirtilen string ayarlarına göre işlem yaparlar.Daha açıklayıcı yazmak gerekirse
kullanacağımız fonksiyonun amacına göre bize değer gönderir.Şimdi bu fonksiyonları tek tek ele alalım.

Compare To
Bu fonksiyonumuz verilen iki parametreye karşın karşılaştırma yapmakla yükümlüdür.Verilen parametre karşılaştırması sonucu geriye döndürdüğü değerlere göre;
Parametreler birbirine eşit ise : 0

Parametredeki değer alfabetik olarak önde ise 1 değilse -1 dir.
 

 string ilkyazi = “developermania”; 

string
ikinciyazi = textBox1.Text;           

switch
(ilkyazi.CompareTo(ikinciyazi))          
 
{              
           
case 0:  MessageBox.Show("Yazılar birbirine eşit");            
                             
break;    
           
case 1: MessageBox.Show(ilkyazi + ", " + ikinciyazi + " alafabetik olarak sonra geliyor");                   

break
;    
           
case -1:MessageBox.Show(ilkyazi + ", " + ikinciyazi + " alfabetik olarak önce geliyor");                   

break
;             }  

Concat  
String değerlerini bir araya getirmek için kullanılır.

Avantajı parametresinin params olmasından dolayı sınırsız birleştirme yapabilme olanağı sunmasıdır.  
 
         
string portal = "developermania";  

  
label1.Text = String.Concat("Portal: ", portal, "Kategoriler: ", "\n", "ASp.net", "Ajax", "Xml", "Javascript", "C#");

Sonuç:   
Portal:developermanina Kategoriler:Asp.net,ajax,Xml,JavaScript,C#



ToUpper  ve ToLower ToUpper  

 String değişkenin içindeki küçük karakterleri büyüğe; ToLower, büyük karakterleri küçüğe çevirir.

string yazi = "developerMANİA"

MessageBox.Show(yazi.ToUpper());    // Sonuç: DEVELOPERMANİA 

  
MessageBox.Show(yazi.ToLower());            // Sonuç: developermania 

Join

Bir String dizisindeki elemanlara, parametre olarak bir ayraç vererek , tek bir string oluşturmamızı sağlar.

string[] yazi = { "Developer", "Mania", "Lider", "Genç", "Bilişimciler" }; 

  
MessageBox.Show(String.Join(",", yazi));

sonuc:
Developer,Mania,Lider, Genç,Bilişimciler  

 SubString

 Verilen bir String değerinin bir kısmını , geriye String olarak gönderen fonksiyondur.

İstenen karakterin hangi indisten başlıyıp bitmesi gerektiği belirtilmelidir.

string yazi = "Developermania";      

     
MessageBox.Show(yazi.Substring(9));            // Sonuç : Mania 
   
       
MessageBox.Show(yazi.Substring(9, 2));            // Sonuç : Ma 



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler: , , ,

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 0 Yorum