先自我介绍一下吧,小编总计花费了大概2周的时间算是基本上粗略掌握了asp.net core mvc的开发,当然精通谈不上,但应该也能开发大部分的web站点。开发实例可以参考本站ide.zx519.com。本站就是使用asp.net core 5.0所开发。开发使用了asp.net core 的mv和ef code。在整个开发过程中说一下个人的感觉吧!当然小编只说自己的使用感受,不谈及什么c#的前身未来这样的教科书上的东西
c#开发的爽点
使用c#开发,最直观的感受是确实比以前使用如php asp 等弱类型语言来的更爽。原因在于如下几个方面
1、代码复用率更高
后端一般都有大量的于数据库交换的代码。以前小编在使用php语言开发时,经常同样功能的请求数据库代码需要重新编写。在c#里我们可以通过ef code 来减少这种重复的代码。例如我们查询文章只需要设置好ef code.通过简单的一段代码DbContext.Article.find(id) 这里就能获得指定ID的文章。或则通过c#的Lambda表达式来组合成各种查询条件。比如下方代码
Var db = _context.Article.Select(p => new { p.Id, p.Title, p.Times, p.List, p.Content }); if (list > 0) { db = db.Where(b => b.List == list); } if (id > 0) { db = db.Where(b => b.Id < id); } if (OrderBy > 0) { db = db.OrderByDescending(b => b.Id); } else { db = db.OrderBy(b => b.Id); } db = db.Take(nums); var b = db.ToList();
上述这段代码我在实际案例中把他封装为了名为GetArticle的接口 。
2、源码分类清晰
相对于以往如在php里自由自在的操作。当长年累月随着项目不断的增加,会造成整个程序混乱不堪(在没有规划的前提下)。而c#对于代码的管理确实是比较方便的。如下图
当然也许这是因为mvc技术的原因。您也可以说PHP也有ThinkPHP框架。但实际使用体验中 c#的体验配合vs 的IDE 体验肯定更胜一筹
3、其他优点
c#的.net core 在所有语言中性能绝对是名列前茅的。远远快于 php java python等语言。c#语言优美,编程感更强。有非常多不错的语法糖等等。源代码是不看见的。发布后,源码都编译好了。如果别人想查看咱们的源码只能是反编译才看的到。
C#语言的缺点
因为小编以前经常使用asp php 等弱类型的语言,起初在使用c#这样的强类似语言的时候确实感觉到很多的不适应。比如数据之间的转换就十分的困难。特别是在做数据模型的时候这种感觉特别明显。我们以前在使用php 的时候比如定义变量 $id="3";php 里可以当他是字符串或则是数字但在c#里这是不允许的,必须是有明确定义的数据类型 比如 int id=3 。即使是使用var id=3 其实也是定义成了int 类型的数据。
在一些函数里的传参php你可以传入任意的数据类型。但在c#里这会很麻烦。所以灵活性上确实是比弱语言差很多。当然好处是安全性更高。
C#的另外一个缺点可能是在国内现在普遍java 卷成狗的情况下。c#找工作等各方面不具备任何优势。毕竟大环境下使用c#的互联网企业不是很多。除了这一些外好像没有什么大的缺点,如果是自己开发的话个人认为.net core 还是很不错的选择。
好了,下一遍文章将说说自学asp.net core 前期所需要的基础吧!