Geri Dönüş Türleri (Return Types)
Nedir?
Geri dönüş türü, metotun çalışması sonunda ne tür bir değer döndeçeğini belirtir.
Return Type Çeşitleri
1. void - Değer Döndürmeyen
public void PrintMessage(string message)
{
Console.WriteLine(message);
// Geriye hiçbir şey dönmez
}
PrintMessage("Merhaba");
2. int - Tam Sayı
public int Add(int a, int b)
{
return a + b;
}
int result = Add(5, 3); // 8
3. string - Metin
public string GetName()
{
return "Ali";
}
string name = GetName(); // "Ali"
4. bool - Mantıksal Değer
public bool IsAdult(int age)
{
return age >= 18;
}
bool result = IsAdult(25); // true
5. double - Ondalıklı Sayı
public double CalculateAverage(int[] numbers)
{
return numbers.Sum() / (double)numbers.Length;
}
6. object - Herhangi Bir Tür
public object GetValue(int type)
{
if (type == 1) return 42;
if (type == 2) return "Metin";
return null;
}
7. T (Generic) - Genel Tür
public T GetFirst<T>(List<T> items)
{
return items[0];
}
int first = GetFirst(new List<int> { 1, 2, 3 });
8. Task - Asenkron (void gibi)
public async Task FetchDataAsync()
{
await Task.Delay(1000);
Console.WriteLine("Tamamlandı");
}
await FetchDataAsync();
9. Task<T> - Asenkron Değer Döndürüyor
public async Task<string> FetchNameAsync()
{
await Task.Delay(1000);
return "Ali";
}
string name = await FetchNameAsync();
10. ValueTask / ValueTask<T> - Hafif Asenkron
public async ValueTask<int> GetCountAsync()
{
await Task.Delay(100);
return 42;
}
int count = await GetCountAsync();
11. dynamic - Çalışma Zamanında Belirlenen Tür
public dynamic GetDynamicValue()
{
return "Metin"; // Tür çalışma zamanında belirlenir
}
dynamic value = GetDynamicValue();
12. Tuple - Birden Çok Değer
public (int, string) GetUserInfo()
{
return (25, "Ali");
}
var (age, name) = GetUserInfo();
13. Array - Dizi
public int[] GetNumbers()
{
return new int[] { 1, 2, 3 };
}
int[] numbers = GetNumbers();
14. List<T> - Liste
public List<string> GetNames()
{
return new List<string> { "Ali", "Veli" };
}
List<string> names = GetNames();
15. IEnumerable<T> - Numaralandırılabilir
public IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
Return Type Seçimi
| Tür | Kullanım Durumu |
|---|---|
| void | Metot sadece iş yapar, değer dönmez |
| int, string, bool | Basit değerler döndürülüyor |
| object | Farklı türler döndürülebilir |
`T` (Generic) | Tür güvenli genel metotlar |
`Task<T>` | Asenkron işlemler |
| Tuple | Birden çok değer döndürmek |
`IEnumerable<T>` | Koleksiyonlar üzerinde yineleme |
