Ahli Berbadan Ungkapan
Tulis sifat dan kaedah yang padat.
Ahli Berbadan Ungkapan ialah pelajaran Akademi C# percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi C#, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Sintaks yang Lebih Ringkas
Sintaks berasaskan ungkapan menggunakan => untuk mentakrifkan ahli sebagai satu ungkapan, menggantikan badan penuh { ... }. Sintaks ini menjadikan ahli pendek lebih ringkas dan mudah dibaca.
using System;
class Greeter
{
public string Hello() => "Hi there!";
}
class Program
{
static void Main()
{
var g = new Greeter();
Console.WriteLine(g.Hello());
}
}Kaedah Berasaskan Ungkapan
Mana-mana kaedah yang badannya terdiri daripada satu ungkapan boleh menggunakan =>. Hasil ungkapan itu menjadi nilai yang dikembalikan.
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));
}
}Sifat Baca Sahaja Berasaskan Ungkapan
Sifat baca sahaja terhitung boleh menggunakan => dan bukannya get { return ...; }.
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);
}
}Pengakses Pengambilan dan Penetapan Berasaskan Ungkapan
Anda juga boleh memberikan badan ungkapan tersendiri kepada pengakses get dan set, yang berguna apabila menggunakan medan sokongan.
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 + "]");
}
}Mengembalikan Rentetan Terhitung
Sifat berasaskan ungkapan sangat sesuai untuk nilai terbitan yang diformatkan, seperti nama penuh atau label.
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);
}
}Berasaskan Ungkapan dengan Syarat
Ungkapan tunggal boleh merangkumi operator bersyarat (ternari), lalu mengekalkan logik percabangan pada satu baris.
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);
}
}Kaedah Void Berasaskan Ungkapan
Kaedah yang melaksanakan tindakan tanpa mengembalikan apa-apa juga boleh berasaskan ungkapan jika tindakannya terdiri daripada satu pernyataan.
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");
}
}Pembina Berasaskan Ungkapan
Pembina dengan satu penetapan juga boleh menggunakan sintaks anak panah.
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);
}
}Bila NOT Tidak Patut Digunakan
Badan ungkapan hanya sesuai untuk satu ungkapan. Jika anda memerlukan beberapa pernyataan, gelung atau cabang pengesahan, gunakan badan blok biasa.
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));
}
}Menggabungkan Beberapa Ahli dalam Satu Kelas
Kelas kecil boleh menggunakan sintaks anak panah untuk hampir setiap ahlinya, sekali gus mengurangkan kod berulang dengan ketara.
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");
}
}Menggabungkan Kesemuanya
Gunakan ahli berasaskan ungkapan untuk memastikan pengambil mudah, pembantu dan kaedah satu baris kekal kemas, sambil menggunakan badan blok untuk logik sebenar.
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);
}
}Semakan Ringkas
Uji pemahaman anda tentang ahli berasaskan ungkapan.
Ulang Kaji
Ahli berasaskan ungkapan menggunakan => untuk mentakrifkan ahli dengan satu ungkapan. Ahli ini boleh digunakan untuk kaedah, sifat baca sahaja, pengakses get/set individu dan juga pembina. Gunakannya untuk baris tunggal yang ringkas; tukar kepada badan blok apabila anda memerlukan beberapa pernyataan.
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);
}
}Pelajari C# dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Soalan Lazim
Adakah pelajaran “Ahli Berbadan Ungkapan” percuma?
Ya — teks penuh “Ahli Berbadan Ungkapan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Akademi C#, tingkat taraf kepada CoddyKit PRO. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Ahli Berbadan Ungkapan”?
Tulis sifat dan kaedah yang padat. Anda berlatih Akademi C# menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi C#?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi C# di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Ahli Berbadan Ungkapan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi C# ini?
Ya. Setiap pelajaran Akademi C# menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Sifat Auto-Dilaksanakan
- Sifat Penuh dengan Medan Sokongan
- Ahli Berbadan Ungkapan
- Pengindeks