İfade Gövdeli Üyeler
Kısa özellikler ve yöntemler yazın.
İfade Gövdeli Üyeler, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Daha Kısa Bir Sözdizimi
İfade gövdeli sözdizimi, bir üyeyi tek bir ifadeyle tanımlamak için => kullanır ve tam bir { ... } gövdesinin yerini alır. Kısa üyeleri daha kompakt ve okunabilir hâle getirir.
using System;
class Greeter
{
public string Hello() => "Hi there!";
}
class Program
{
static void Main()
{
var g = new Greeter();
Console.WriteLine(g.Hello());
}
}İfade Gövdeli Yöntemler
Gövdesi tek bir ifadeden oluşan her yöntem => kullanabilir. İfadenin sonucu, dönüş değeri olur.
using System;
class MathHelper
{
public int Square(int x) => x * x;
public int Add(int a, int b) => a + b;
}
class Program
{
static void Main()
{
var m = new MathHelper();
Console.WriteLine(m.Square(6));
Console.WriteLine(m.Add(3, 4));
}
}İfade Gövdeli Salt Okunur Özellikler
Hesaplanan salt okunur bir özellik, get { return ...; } yerine => kullanabilir.
using System;
class Rectangle
{
public double Width { get; set; }
public double Height { get; set; }
public double Area => Width * Height;
}
class Program
{
static void Main()
{
var r = new Rectangle { Width = 4, Height = 5 };
Console.WriteLine("Area: " + r.Area);
}
}İfade Gövdeli Alma ve Ayarlama
get ve set erişimcilerine, özellikle bir destek alanıyla birlikte kullanışlı olan kendi ifade gövdelerini de verebilirsiniz.
using System;
class Person
{
private string _name;
public string Name
{
get => _name;
set => _name = value.Trim();
}
}
class Program
{
static void Main()
{
var p = new Person();
p.Name = " Niki ";
Console.WriteLine("[" + p.Name + "]");
}
}Hesaplanan Dizeleri Döndürme
İfade gövdeli özellikler, tam adlar veya etiketler gibi biçimlendirilmiş ve türetilmiş değerler için çok kullanışlıdır.
using System;
class Customer
{
public string First { get; set; }
public string Last { get; set; }
public string Display => First + " " + Last;
}
class Program
{
static void Main()
{
var c = new Customer { First = "Ada", Last = "Lovelace" };
Console.WriteLine(c.Display);
}
}Koşullu İfade Gövdeleri
Tek ifade, koşullu (üçlü) işleci içerebilir; böylece dallanma mantığı tek satırda tutulur.
using System;
class Account
{
public decimal Balance { get; set; }
public string Status => Balance >= 0 ? "OK" : "Overdrawn";
}
class Program
{
static void Main()
{
var a = new Account { Balance = -20m };
Console.WriteLine(a.Status);
}
}Değer Döndürmeyen İfade Gövdeli Yöntemler
Eylem gerçekleştiren, yani hiçbir değer döndürmeyen bir yöntem de eylem tek bir ifadeden oluşuyorsa ifade gövdeli olabilir.
using System;
class Logger
{
public void Log(string msg) => Console.WriteLine("[LOG] " + msg);
}
class Program
{
static void Main()
{
var log = new Logger();
log.Log("Started");
}
}İfade Gövdeli Oluşturucular
Tek bir atama içeren oluşturucu da ok sözdizimini kullanabilir.
using System;
class Point
{
public int X { get; }
public Point(int x) => X = x;
}
class Program
{
static void Main()
{
var p = new Point(7);
Console.WriteLine("X = " + p.X);
}
}NOT Kullanılmaması Gereken Durumlar
İfade gövdeleri yalnızca tek ifadeler içindir. Birden fazla ifadeye, döngüye veya doğrulama dallarına ihtiyacınız varsa bunun yerine normal bir blok gövdesi kullanın.
using System;
class Calculator
{
// Single expression -> arrow is fine
public int Triple(int n) => n * 3;
// Multiple statements -> use a block
public int SumTo(int n)
{
int total = 0;
for (int i = 1; i <= n; i++) total += i;
return total;
}
}
class Program
{
static void Main()
{
var c = new Calculator();
Console.WriteLine(c.Triple(4));
Console.WriteLine(c.SumTo(5));
}
}Tek Bir Sınıfta Birkaçını Birleştirme
Küçük bir sınıf, neredeyse her üyesi için ok sözdizimini kullanarak tekrar eden kodu büyük ölçüde azaltabilir.
using System;
class Temperature
{
public double Celsius { get; set; }
public double Fahrenheit => Celsius * 9 / 5 + 32;
public double Kelvin => Celsius + 273.15;
public override string ToString() => Celsius + "C";
}
class Program
{
static void Main()
{
var t = new Temperature { Celsius = 25 };
Console.WriteLine(t + " = " + t.Fahrenheit + "F = " + t.Kelvin + "K");
}
}Hepsini Birleştirme
Basit alıcıları, yardımcıları ve tek satırlık yöntemleri temiz tutmak için ifade gövdeli üyeleri kullanın; blok gövdelerini ise gerçek mantık gerektiğinde tercih edin.
using System;
class Order
{
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal Total => Quantity * UnitPrice;
public bool IsLarge => Quantity > 10;
}
class Program
{
static void Main()
{
var o = new Order { Quantity = 12, UnitPrice = 9.99m };
Console.WriteLine("Total: " + o.Total + ", Large: " + o.IsLarge);
}
}Kısa Sınama
İfade gövdeli üyeler konusundaki anlayışınızı sınayın.
Özet
İfade gövdeli üyeler, bir üyeyi tek bir ifadeyle tanımlamak için => kullanır. Yöntemlerde, salt okunur özelliklerde, tek tek get/set erişimcilerinde ve hatta oluşturucularda çalışır. Bunları kısa ve tek satırlık üyeler için kullanın; birden fazla ifadeye ihtiyaç duyduğunuzda blok gövdesine geçin.
using System;
class Demo
{
public int N { get; set; }
public int Doubled => N * 2;
public string Label() => "N is " + N;
}
class Program
{
static void Main()
{
var d = new Demo { N = 9 };
Console.WriteLine(d.Label() + ", doubled = " + d.Doubled);
}
}Sıkça Sorulan Sorular
“İfade Gövdeli Üyeler” dersi ücretsiz mi?
Evet — “İfade Gövdeli Üyeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“İfade Gövdeli Üyeler” dersinde ne öğreneceğim?
Kısa özellikler ve yöntemler yazın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“İfade Gövdeli Üyeler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Otomatik Uygulanan Özellikler
- Yedek Alanlı Tam Özellikler
- İfade Gövdeli Üyeler
- Dizinleyiciler