using System; public class Wine { public decimal Price; public int Year; public Wine (decimal price) { Price = price; } public Wine (decimal price, int year) : this (price) { Year = year; } }和以下這段code是等價的
using System; public class Wine { public decimal Price; public int Year; public Wine (decimal price) { Price = price; } public Wine (decimal price, int year) { Wine(price); Year = year; } }一樣都會改Price的值 上網找了一下 發現原來還有很多方便的語法糖 以下節錄幾個常用的
經過兩次變異的委託寫法
真的易用多了一開始推出的時候真的完全看不懂
class MyClass { public delegate void DoSomething(int a); //定義方法委託 private void DoIt(int a) { Console.WriteLine(a); } private void HowtoDo(DoSomething doMethod,int a) { doMethod(a); } public static void Main(string[] args) { MyClass mc = new MyClass(); //調用定義的方法委託 mc.HowtoDo(new DoSomething(mc.DoIt), 10); int x = 10; //使用匿名委託 mc.HowtoDo(delegate(int a){ Console.WriteLine(a + x); },10); //使用lamda表達式 mc.HowtoDo(a=>Console.WriteLine(a+x),10); Console.ReadLine(); } }