Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  .Net'te tanımlı faydalı bir class.

Mesela varitabanından okuduğunuz bir int değeri olsun elinizde, Sizde bu int değerini ilgili enuma çevirmek istiyorsunuz yapmanız gereken şudur,
EnumType enumType = (EnumType)(veritabaniDegeri)

Bide bunun tersi olsa, yani elinizde bir enum türüne ait bir string var, ve siz bunun enum karşılığını bulmak istiyorsunuz. O zaman şunu yaparsınız,
Object o = Enum.Parse(EnumType, enumStr);

Ya da bir enum ifadesini DataTable'a çevirmek istiyorsanız, aşağıdaki kodu kullanabilirsiniz.
public DataTable ToDataTable(Type enumType)
{           
   DataTable dt = new DataTable();
   dt.Columns.Add("name", typeof(string));
   dt.Columns.Add("value", typeof(int));

   Array arr = Enum.GetValues(enumType);

   foreach (object o in arr)
   {
      DataRow dr = dt.NewRow();
      dr["name"] = o.ToString();
      dr["value"] = Enum.Parse(enumType, o.ToString());
      dt.Rows.Add(dr);
   }
   return dt;
}

Ya da bir enum'u bir DropDownList'e doldurmak için yukarıdaki fonksiyonu da kullanarak
public void FillCombo(DropDownList ddlist, Type enumType, bool firstRowSelected)
{
   ddlist.DataValueField = "value";
   ddlist.DataTextField = "name";
   ddlist.DataSource = ToDataTable(enumType);
   ddlist.DataBind();

   if (firstRowSelected)
      ddlist.Items[0].Selected = true;
}

haydar
21 Temmuz 2006 10:33
2.  integer constantlardan baska bir sey degildir. kodun okunabilirliğini ve anlaşılabilirliğini artirir. Ayrica value type olup, tum enumlarin turedigi base class System.Enum'dur. (C#'ta tabii)
8086
22 Temmuz 2006 20:53
3.  Bir enumeration'da tanımlı tüm sabitlere erişmek için Enum sınıfın GetValues(Type type) metodu kullanılabilir.

Örneğin satranç programı yazıyorsunuz ve taşların tipini belirten aşağıdaki gibi bir enum tipiniz var:
public enum PieceType{
   Pawn,   // piyon
   Knight, // at
   Bishop, // fil
   Rook,   // kale
   Queen,  // vezir
   King    // şah
}

Bu enumeration'ı dolaşıp taşları oluşturan bir kod yazmamız icap etti. Şöyle yapabiliyoruz:
foreach(PieceType pt in Enum.GetValues(typeof(PieceType)))
{
   Piece piece = Piece.Create(pt);
   ChessGame.AddPiece(piece); // falan filan..
}

fizikci
28 Aralık 2006 17:21
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1156 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen