异步方法不能声明任何 ref 或 out 参数,但是可以调用具有这类参数的方法。
表达式主体定义
具有立即仅返回表达式结果,或单个语句作为方法主题的方法定义很常见。以下是使用 => 定义此类方法的语法快捷方式:
public Point Move(int dx, int dy) => new Point(x + dx, y + dy);
public void Print() => Console.WriteLine(First + " " + Last);
// Works with operators, properties, and indexers too.
public static Complex operator +(Complex a, Complex b) => a.Add(b);
public string Name => First + " " + Last;
public Customer this[long id] => store.LookupCustomer(id);
如果该方法返回 void 或是异步方法,则该方法的主体必须是语句表达式(与 lambda 相同)。对于属性和索引器,两者必须是只读,并且不使用 get 访问器关键字。
迭代器
迭代器对集合执行自定义迭代,如列表或数组。迭代器使用 yield return 语句返回元素,每次返回一个。当 yield return 语句到达时,将记住当前在代码中的位置。下次调用迭代器时,将从该位置重新开始执行。
通过使用 foreach 语句从客户端代码调用迭代器。
迭代器的返回类型可以是 IEnumerable、IEnumerable<T>、IEnumerator 或 IEnumerator<T>。
注:相关教程知识阅读请移步到c#教程频道。










