做了快两年的.NET了,我还说不清什么是framework和MVC版本,求指点

打野的小妞 2018-03-26 11:29:48
.netframework是微软提供的一套api和框架,用于开发C#等程序,然后版本更迭,每一个版本都会有新的功能,语法糖加入
比如lambda表达式
但是又看到说c#6.0新语法,比如@$(),还有list?这种写法,这算framework吗
还有做MVC开发的时候需要选择MVC版本,MVC4,5之类,还有引用中的System.Web.Mvc这个dll的版本,这个和.netframework又有什么关系呢
望大家不吝赐教,十分感谢
...全文
1851 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
masanaka 2018-03-30
  • 打赏
  • 举报
回复
引用 17 楼 oufu99 的回复:
[quote=引用 10 楼 caozhy 的回复:] lambda表达式是C#语法,不是fcl提供的。花2天时间找本书看看,或者找一个正规的老师请教下。你完全概念没有錒
应该看点什么书啊..没目标不知道看啥[/quote] 还有.Net Standard,正规老师也搞不清楚啊
打野的小妞 2018-03-29
  • 打赏
  • 举报
回复
引用 10 楼 caozhy 的回复:
lambda表达式是C#语法,不是fcl提供的。花2天时间找本书看看,或者找一个正规的老师请教下。你完全概念没有錒
应该看点什么书啊..没目标不知道看啥
「已注销」 2018-03-27
  • 打赏
  • 举报
回复
frame是底层基础 mvc是在此基础上的web实现框架...
qq_41128653 2018-03-27
  • 打赏
  • 举报
回复
frame是底层基础 mvc是在此基础上的web实现框架
  • 打赏
  • 举报
回复
引用 9 楼 oufu99 的回复:
对您的话的理解mvc和c#是一个级别的吗?c#是一种编译器的话,mvc就是用来将网站编译成il语言的吗? 我的理解是mvc也是一个框架,他封装了很多的类,但是这好像又和framework的功能重叠了啊?
MVC和C#不是一个级别的,C#版本可以看作编译器特性支持,而并不是说C#语言就是编译器了。 MVC并不能做任何il编译功能。 framework的功能是将编译好的il语言或源代码解释为机器代码在系统中运行用的,和编译器又是另外的功能了。 你对编译器和解释器等名词不能理解吗?那你需要稍微补课一下这部分知识,建议找计算机原理或理论方面的书看看概念即可。
  • 打赏
  • 举报
回复
引用 楼主 oufu99 的回复:
但是又看到说c#6.0新语法,比如@$(),还有list?这种写法,这算framework吗
c# 版本跟 .net framework 版本是两回事。有些编程特性是.net framework 提供的功能,有些纯粹是 c# 语法。比如说用 c#6 语法照样可以在 .net framework 2.0 为目标平台时写出现代的 c# 程序代码代码。
  • 打赏
  • 举报
回复
顺便纠正一下,il代码,不是li,我错别字就这么多,大家谅解,不接受职责。
  • 打赏
  • 举报
回复
另外我上面说的vs版本也不是绝对的,因为你理论上是可以在低版本vs上通过更新C#版本的方法更新编译器的,但是实际操作过程中你会发现比重装新版本vs更加耗时费力,结果还不尽人意。
  • 打赏
  • 举报
回复
 .net framework 是一套解释库,他是将使用vs或其他 .net 编译器编译的 li 代码解释为计算机代码运行的库,他的更新可以支持更多的功能,也可能由于功能的增加支持更多的“语法糖”。 c#版本实际上是一套编译库,他是将 .net 代码编译为 li 代码的库,他的更新可能支持更多语法糖等,一般随着vs的更新而更新。 MVC版本是一套Web框架的版本,他是一个实际存在的软件框架版本。 看看以下问题和答案你可以更好的理解这些: 你可以用更高的C#版本写更低的 .net framework程序吗?可以,高版本的解释器支持低版本的 .net framework。(高版本vs支持低版本 .net framework) 你可以使用低版本的C#书写高版本的 .net framework程序吗?不一定,如果你没有使用独有的高版本编译器才支持的特性是可以的,否则不行。(低版本vs支持部分高版本 .net framework) 你可以让更高的 MVC 在更低的 .net framework 版本中运行吗?不一定,要看高版本MVC是否使用了高版本 .net framework的新特性功能。(低版本的 .net framework只能运行部分高版本的MVC) 你可以让低版本的MVC在高版本的 .net framework中运行吗?不一定,要看低版本特性是否关闭。(高版本的 .net framework并没有无限支持低版本的MVC) 你可以用高版本C#写的代码在低版本C#中编译通过吗?要看你是否使用高版本支持的语法糖。(常见的vs2015写的 prop { get; set; }=defult; 无法在vs2013编译通过错误就来源于此)。 那么反之呢?不一定,要看低版本特性是否关闭(vs2008强制多线程安全,2005的多线程代码需要升级和修改。) mvc和 .net framework 很好区分,但是很多人无法区分 C#版本和 .net framework 版本,这是非常不专业的。
threenewbee 2018-03-26
  • 打赏
  • 举报
回复
lambda表达式是C#语法,不是fcl提供的。花2天时间找本书看看,或者找一个正规的老师请教下。你完全概念没有錒
  • 打赏
  • 举报
回复
frame是底层基础 mvc是在此基础上的web实现框架
打野的小妞 2018-03-26
  • 打赏
  • 举报
回复
引用 2 楼 xomix 的回复:
 .net framework 是一套解释库,他是将使用vs或其他 .net 编译器编译的 li 代码解释为计算机代码运行的库,他的更新可以支持更多的功能,也可能由于功能的增加支持更多的“语法糖”。 c#版本实际上是一套编译库,他是将 .net 代码编译为 li 代码的库,他的更新可能支持更多语法糖等,一般随着vs的更新而更新。 MVC版本是一套Web框架的版本,他是一个实际存在的软件框架版本。 看看以下问题和答案你可以更好的理解这些: 你可以用更高的C#版本写更低的 .net framework程序吗?可以,高版本的解释器支持低版本的 .net framework。(高版本vs支持低版本 .net framework) 你可以使用低版本的C#书写高版本的 .net framework程序吗?不一定,如果你没有使用独有的高版本编译器才支持的特性是可以的,否则不行。(低版本vs支持部分高版本 .net framework) 你可以让更高的 MVC 在更低的 .net framework 版本中运行吗?不一定,要看高版本MVC是否使用了高版本 .net framework的新特性功能。(低版本的 .net framework只能运行部分高版本的MVC) 你可以让低版本的MVC在高版本的 .net framework中运行吗?不一定,要看低版本特性是否关闭。(高版本的 .net framework并没有无限支持低版本的MVC) 你可以用高版本C#写的代码在低版本C#中编译通过吗?要看你是否使用高版本支持的语法糖。(常见的vs2015写的 prop { get; set; }=defult; 无法在vs2013编译通过错误就来源于此)。 那么反之呢?不一定,要看低版本特性是否关闭(vs2008强制多线程安全,2005的多线程代码需要升级和修改。) mvc和 .net framework 很好区分,但是很多人无法区分 C#版本和 .net framework 版本,这是非常不专业的。
引用 2 楼 xomix 的回复:
  MVC版本是一套Web框架的版本,他是一个实际存在的软件框架版本。 看看以下问题和答案你可以更好的理解这些: 你可以用更高的C#版本写更低的 .net framework程序吗?可以,高版本的解释器支持低版本的 .net framework。(高版本vs支持低版本 .net framework) 你可以使用低版本的C#书写高版本的 .net framework程序吗?不一定,如果你没有使用独有的高版本编译器才支持的特性是可以的,否则不行。(低版本vs支持部分高版本 .net framework) mvc和 .net framework 很好区分,但是很多人无法区分 C#版本和 .net framework 版本,这是非常不专业的。
对您的话的理解mvc和c#是一个级别的吗?c#是一种编译器的话,mvc就是用来将网站编译成il语言的吗? 我的理解是mvc也是一个框架,他封装了很多的类,但是这好像又和framework的功能重叠了啊?
极客诗人 2018-03-26
  • 打赏
  • 举报
回复
学习一波
正怒月神 2018-03-26
  • 打赏
  • 举报
回复
上面基本都说的差不多了。就不赘述了
  • 打赏
  • 举报
回复
引用 楼主 oufu99 的回复:
还有做MVC开发的时候需要选择MVC版本,MVC4,5之类,还有引用中的System.Web.Mvc这个dll的版本,这个和.netframework又有什么关系呢
这就是之前跟 .net framework 内置的 asp.net mvc 版本相一致造成的。复杂一点的程序,学习.net 程序开发,基本上不用纠结于 c# 版本,而是要看一个人懂多少 .net framework 中的特性。假设你使用 aspnet mvc,由于 asp.net mvc 变动太大而且并不兼容,所以你使用的是哪一个 .net framework 版本中的 mvc 这自然就成了需要关心的事情了。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧