创建一个控制台项目,.net5或.net6(Preview),在Program.cs中写如下代码,F5,能顺利跑起来,没有Program类,没有Main函数。
这是C#9带来的顶级语句的功能。
System.Console.WriteLine("你好,C#");
其实这里的Program类和Main还是存在的,只是一种略写法,可以用如下代码看出来:
System.Console.WriteLine($"Method Name:{System.Reflection.MethodBase.GetCurrentMethod().Name}");
System.Console.WriteLine($"Class Name:{System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name}");
System.Console.WriteLine($"Namespace Name:{System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace}");
System.Console.WriteLine($"Assembly Name:{System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Assembly.FullName}");
System.Console.WriteLine($"Module Name:{System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Module.Name}");
与此同时,对args也是支持,直接访问就ok了
System.Console.WriteLine($"args长度{args.Length}");
同时也支持异步
await System.Threading.Tasks.Task.Delay(1000);
调用其他方法或类
System.Console.WriteLine(GetName());
System.Console.WriteLine(Test1.GetName());
System.Console.WriteLine(new Test2().GetName());
//静态方法
static string GetName()
{return "桂素伟";
}
//静态类
class Test1
{public static string GetName(){return "桂素伟";}
}
//实例化类
class Test2
{public string GetName(){return "桂素伟";}
}
这种简略写法使用场景有限,但Faas是个场景,直接上来写功能,没有那么多条条框框。