学习到C#,Kotlin或者Dart这种特性多、语法糖不少的编程语言之后,就会出现一些新的问题,这里不定期更新一下学到的语法糖.特别说一下,在某些开发者眼里,C#,Kotlin,Go,Rust,Dart是 Most Popular New Programming Languages,都在不同程度上提升了开发效率和性能.
classRealPrinter{ // the "delegate" voidprint(){ System.out.print("something"); } }
classPrinter{ // the "delegator" RealPrinter p = new RealPrinter(); // create the delegate voidprint(){ p.print(); // delegation } }
publicclassMain{ // to the outside world it looks like Printer actually prints. publicstaticvoidmain(String[] args){ Printer printer = new Printer(); printer.print(); } }
class Program { static void Main(string[] args) { // 创建委托实例并关联一个方法 PrintDelegate printDelegate = PrintMessage; // 使用委托调用方法 printDelegate("Hello, C#!"); } static void PrintMessage(string message) { Console.WriteLine(message); } } using System;
delegate int CalculationDelegate(int x, int y);
class Program { static void Main(string[] args) { // 调用方法,传递委托作为参数 int result = Calculate(5, 3, AddNumbers); Console.WriteLine(result); } static int Calculate(int x, int y, CalculationDelegate calculation) { return calculation(x, y); } static int AddNumbers(int x, int y) { return x + y; } } using System;