C#、 WINFORM以及 .NET之间关系。

如题。

简单地讲.net包括一个解析应用程序代码的类库以及一个支持程序运行的平台。
何谓平台:
比方说exe可执行文件可以在Windows上运行,却不能在Linux上面运行。操作系统本身就是一个运行平台。底层的API等可以看做类库。所有在Windows上运行的程序其实都只是对底层API直接或间接地调用,扩展了操作系统的功能而已。
.net之前的Windows程序在写完后被编译成二进制的exe文件。它们可以直接被操作系统解释并送到CPU里面运行。也就是说Windows就是这些程序运行的平台。
问题1:
不光Windows与Linux是不同的运行平台。Windows的不同版本也是不同的运行平台。因为它们的操作系统内核或多或少不一样。API的类库也存在差异。如果各个版本的Windows内核不能完全兼容,就会导致如下问题:如果某程序编写的时候调用了某个特定版本Windows的某个函数,并且该函数在其它版本的Windows内核中都没有,那么把该程序发布到其它版本的Windows至上就会出现运行时错误。运行到一半发现找不到某个函数……这是一个问题。
另一个显著的问题是:
编程语言何其之多。如果写C语言的人能够调用B语言编写的组件。那么代码的重用性就得到了极大程度上的增强。
.net
.net出现后解决了很多问题。当然包括这两个问题。.net支持很多种语言。但是C#才是为.net量身定做的语言。打个比方,地球上一部分人讲汉语,一部分人讲英语,一部分人讲鸟来语。但是英语是比较公认的官方语言。说不同语言的人如果不懂对方的语言显然不能沟通。如果有个翻译就OK了。
.net本质也只是对API进行了更安全的封装,也只是Windows的一种扩展而已。但是它之所以独立于Windows之上成为一个运行平台,是因为.net编写的程序并没有直接编译成Windows能够理解的二进制文件。而是编译成了.net的中间语言。好比我们重新定义了一种国际语言。它既不是英语也不是汉语,不是现存的任何语言。但是它可以用来翻译现存的所有语言。正因为程序被编译成了中间语言,它们在这个层面上可以自由地交流。所以C#之类的C型语言可以跟VB型的B型语言等互相访问。也正因为它们被编译成了一种操作系统不认识的中间语言,它们才需要有一个解析平台(公共语言运行时,也是.net的一个部分)。.net相当于同时充当了程序与Windows之间的翻译官与字典的功能。
Winform
这个这个……当你学会了一种语言的时候,你可以用它来唱歌,也可以用它来写诗。
当你要唱歌或者要写诗的时候,你可以用任何一种语言。Winform说到底不就是编程
语言的一件艺术品么?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-07
NET是一个平台,这个平台支持很多东西,很多编程语言,C#只是其中的一种,还有VB.NET,F#等语言,使用.NET这个平台开发的程序不能直接在Windows上运行,需要安装一个叫做Net framework的东西,目前最新版本是4.0,Windows7系统已经集成了net framework 3.5

C#只是一门标准化的语言,它的语法是经过国际标准化组织标准过的,并不是只有.NET支持C#语言,Linux下面有个Mono平台,也支持C#

WINFORM是指开发Windows桌面程序的一种模式,当然它并不是只有模式,也提供了很多使用的控件,可以方便地构建一个Windows桌面程序。其实开发Windows桌面程序有很多种方法,用C语言直接调用Windows API就是一种很原始的方式,在VC++里面可以使用MFC这种模式,而到了.NET,则提供了WINFORM这种模式!
第2个回答  2011-02-07
.NET一个平台,一个框架
C#是一种语言
WINFORM是指开发Windows桌面程序的一种模式

稍微解释一下,这些东西随着你学习的深入就会理解了。

.NET是一个平台,这个平台支持很多东西,很多编程语言,C#只是其中的一种,还有VB.NET,F#等语言,使用.NET这个平台开发的程序不能直接在Windows上运行,需要安装一个叫做Net framework的东西,目前最新版本是4.0,Windows7系统已经集成了net framework 3.5

C#只是一门标准化的语言,它的语法是经过国际标准化组织标准过的,并不是只有.NET支持C#语言,Linux下面有个Mono平台,也支持C#

WINFORM是指开发Windows桌面程序的一种模式,当然它并不是只有模式,也提供了很多使用的控件,可以方便地构建一个Windows桌面程序。其实开发Windows桌面程序有很多种方法,用C语言直接调用Windows API就是一种很原始的方式,在VC++里面可以使用MFC这种模式,而到了.NET,则提供了WINFORM这种模式!
第3个回答  2011-02-07
.NET是语言的开发平台,C#是在这平台上的兼容开发语言,WINFORM是.NET用于窗体开发的
第4个回答  2011-02-07
.net是一种语言,c#是基于.net的一种开发工具,winform是c#开发的一种程序。
相似回答