省去大量建構函式,方便實例化:
Bunny b1 = new Bunny { Name = "Bo", LikesCarrots = true, LikesHumans = false };
var dudes = new[]
{
new { Name = "Bob", Age = 20 },
new { Name = "Rob", Age = 30 }
};
語法糖,簡化屬性宣告:
public class Stock
{
// C# 3.0
public decimal X { get; set; }
// C# 2.0 寫法
private decimal y;
public decimal Y { get => y; set => y = value; }
}
宣告與實作分離,未實作時呼叫不報錯:
partial class PaymentForm
{
partial void ValidatePayment(decimal amount); // 宣告
}
partial class PaymentForm
{
partial void ValidatePayment(decimal amount) // 實作
{ if (amount > 100) { /* ... */ } }
}
static void Main()
{
var form = new PaymentForm();
form.ValidatePayment(5.3m); // 無實作也不會錯誤
}
string[] names = { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredNames = Enumerable.Where(names, n => n.Length >= 4);
以上皆為 C# 3.0 新特性,業界稱為「語法糖」。後續文章將詳細探討。