我想缩短键入Console.WriteLine并将其分配给var,例如:var write = Console.WriteLine(); 并执行它就像写("我的名字是......"); >>>输出>>我的名字是......
通过使用委托来完成为变量分配方法:
Action<string> write = Console.WriteLine;
write("Hello World!");
Run Code Online (Sandbox Code Playgroud)
当然,代表将无法代表每一个重载Console.WriteLine(并且它有18个).它只能代表其中一个重载(但它可以代表其中的任何一个).
虽然只是简单地缩短你的代码是一个值得怀疑的想法,但这是你可以做的:定义Write方法的委托,就像这样
delegate void WriteDelegate(string msg, params object[] args);
Run Code Online (Sandbox Code Playgroud)
定义类型的变量WriteDelegate,并为其分配Console.Write:
private static readonly WriteDelegate w = Console.Write;
Run Code Online (Sandbox Code Playgroud)
现在您可以使用或不使用参数w来调用Console.Write:
w("Hello");
w(", {0}", "world!");
Run Code Online (Sandbox Code Playgroud)