# Enums

Kişilere sabit seçenekler sunmmak için kullanılan bir diğer tiptir. Seçenekleri kontrol altında tutup, uygulamanızı da kendi kontrolünüz çevresinde yönetebilirsiniz. Bu sebeple uygulamanızda bir süprize yer bırakmadan çok daha performanslı ve çok daha güvenli bir yapı oluşturmuş olursunuz.

Bir enum'ın yazılı değerini teslim alabilmek için Enum.GetNames() metodu kullanılmaktadır. Bir enum arkaplanda sayısal değerler tutar. Bu değerler varsayılan olarak seçilen değerin index değeridir ve veri tipi int'dir. İstersek bu tipi değiştirebiliriz. İlk eleman 5 olosun gerisini enum atasın gibi. Enum buradanda anlaşılacağı gibi bir nevi key-value ikiliği ile çalışır. Bir değer ve ona atılan sayısal bir değer şeklinde.

Yazılı hale getirilmiş bir enum değerini tekrar enum şeklinde geri alabilmek için Enum.Parse metodu kullanılır. UI (User Interface) yani kullanıcın gördüğü arayüzde enum'ın yazılı olan hali gözükür ve kullanıcı buradan bir değer seçer, bu seçtiği değer doğruşltusunda veri tabanına aslında ilgili değerin int tipindeki anahtar değeri yazdırılır.

Yukarıdaa enumlara arkaplanda sayısal değer atanır dedik, bu arkaplan deperinden ötürü Enum.Parse işlemi size object tipinde dönüş yapar. Yazılı halini teslim almak için o enum'ın tipine, sayısal değerini almak için ise hangi tipte tanımlandıysa o sayısal tipte cast edilerek çağrılarak kullanıma hazırlanır.

Enum'lar tamamiyle geliştiriciye yönelik nesnelerdir.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://samettteraslan.gitbook.io/oop/enums.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
