永发信息网

请问C#中的winform和WFC有什么区别?

答案:5  悬赏:70  手机版
解决时间 2021-04-04 02:48
请问C#中的winform和WFC有什么区别?
最佳答案
相关说明: 说错了不是WFC是MFC,
两者都是开发窗口程序的。
一、netFramework才可以。两者运行的环境也不一样,
二、winform所使用的C#语言和java差不多,编译好的MFC可以运行在任何电脑上,一个是基于Vc++,
三、编程所用的语言不通,一个是基于VC#的,都是先编译为一种中间语言,而要运行winform必须要安装,再由各自对应的平台解释执行。
全部回答
一个是基于Vc++,一个是基于VC#的,编程所用的语言不通。两者运行的环境也不一样,编译好的MFC可以运行在任何电脑上,而要运行winform必须要安装.netFramework才可以,winform所使用的C#语言和java差不多,都是先编译为一种中间语言,再由各自对应的平台解释执行。 再看看别人怎么说的。
一、c++和C#编程语言来说,只是它们的设计目的有所区别。 c++在设计之初希望提供先进的面向对象特性,同时提供很好的性能。但是为了保证和以往的程序、开发人员的知识兼容,c++与c语言几乎完全兼容。c语言 本身其实就是现代计算机的高级抽象,可以直接访问地址、通过指针可以访问几乎任何内存地址;堆和栈的结构体现等待。当然c++也就具有了这样的特性。随 着 c++的逐步发展,generic programming 泛型编程技术和stl标准模板库的引入,c++和c的差异越来越大。基本上c++是为了 高效地使用面向对象技术或者泛型技术编写大规模高性能应用程序(往往是一些相对比较底层的应用程序)而设计的。 c#通过底层的虚拟机机制减少了c/c++语言中常常容易发生的内存泄漏和安全性问题,代价是运行速度减慢。同样的由于简化了编程语言的复杂性(c#远远 比c++来得简单),大大提高了开发者得效率。另外c#具有.net庞大的类库,这个优势是c++所不具有的。因此c#非常合适开发企业中处理业务的应用 程序。同时微软所有的操作系统、服务器程序、桌面端程序都在向.net平台统一。在历史上与次类似的情形(指微软技术)只有在微软从16位平台向32位平 台转变的过程中发生过。因此现在.net的转变对开发者来说可能是痛苦的(因为要学习很多新的东西),但也充满了机会。 二、具体区别: 1.继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。 2.数组:声明 C# 数组和声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。 3.数据类型:在C++中bool类可以与整型转换,但C#中bool 类型和其他类型(特别是 int)之间没有转换。long 类型:在 C# 中,long 数据类型为 64 位,而在 C++ 中为 32 位。 4.struct 类型:在 C# 中,类和结构在语义上不同。struct 是值类型,而 class 是引用类型。 5.switch 语句:与 C++ 中的 switch 语句不同,C# 不支持从一个 case 标签贯穿到另一个 case 标签。 6.delegate 类型:委托与 C++ 中的函数指针基本相似,但前者具有类型安全,是安全的。 7.从派生类调用重写基类成员。 base 8.使用 new 修饰符显式隐藏继承成员。 9.重写方法需要父类方法中用virtual声名,子类方法用override 关键字。 10.预处理器指令用于条件编译。C# 中不使用头文件。 C# 预处理器指令 11.异常处理:C#中引入了 finally 语句,这是C++没有的。 12.C# 运算符:C# 支持其他运算符,如 is 和 typeof。它还引入了某些逻辑运算符的不同功能。 13. static 的使用,static方法只能由类名调用,改变static变量。 14.在构造基类上替代 C++ 初始化列表的方法。 15.Main 方法和 C++ 及Java中的 main 函数的声明方式不同,Main而不能用main 16.方法参数:C# 支持 ref 和 out 参数,这两个参数取代指针通过引用传递参数。 17.在 C# 中只能在unsafe不安全模式下才使用指针。 18.在 C# 中以不同的方式执行重载运算符。 19.字符串:C# 字符串不同于 C++ 字符串。 20.foreach:C#从VB中引入了foreach关键字使得以循环访问数组和集合。 21.C# 中没有全局方法和全局变量:方法和变量必须包含在类型声明(如 class 或 struct)中。 22.C# 中没有头文件和 #include 指令:using 指令用于引用其他未完全限定类型名的命名空间中的类型。 23.C# 中的局部变量在初始化前不能使用。 24析构函数:在 C# 中,不能控制析构函数的调用时间,原因是析构函数由垃圾回收器自动调用析构函数 。 25构造函数:与 C++ 类似,如果在 C# 中没有提供类构造函数,则为自动生成默认构造函数。该默认构造函数将所有字段初始化为它们的默认值。 26.在 C# 中,方法参数不能有默认值。如果要获得同样的效果,需使用方法重载。
一个是基于Vc++,一个是基于VC#的,编程所用的语言不通。两者运行的环境也不一样,编译好的MFC可以运行在任何电脑上,而要运行winform必须要安装.netFramework才可以,winform所使用的C#语言和java差不多,都是先编译为一种中间语言,再由各自对应的平台解释执行。
亲,一个是基于Vc++,一个是基于VC#的,编程所用的语言不通。两者运行的环境也不一样,编译好的MFC可以运行在任何电脑上,而要运行winform必须要安装.netFramework才可以,winform所使用的C#语言和java差不多,都是先编译为一种中间语言,再由各自对应的平台解释执行。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
石棉的化学成分
小美女吃饭,接下来看爸爸是怎么喂的,太可爱
急急急,线代题,P和P的逆矩阵的乘积不就是单
鹿岛鹿角和中国球队交战记录?
小马虎14.56减一个一位小数时,由于错误地把
梦幻西游飞升后凌波城和大唐官府。这两个门派
单选题托盘天平由许多部件组成,下列各组中不
如何求韦伯分布的累积分布函数
为什么我用瘦针灸一个月肚子小了很多?但是体
矗,品这一类的字叫什么结构?
太仆寺旗西苑宾馆地址在哪,我要去那里办事,
昨天下午煮了很久的姜水,今天继续煮了两个小
马大帅1中的遗产问题
三星手机 为什么很多音乐在手机里放 就只伴奏
克奥拉和田玉一折,和田玉价格一克多少钱
推荐资讯
海尔卡萨帝云裳滚筒洗衣机的抽屉是什么作用
下列说法错误的是A.我们常说消耗了多少电能,
怎样用js编写一个试题代码,并且提交后出现正
怎样介绍福山环境
防盗门把手断了怎么换,家里防盗门内把手坏了
炒一斤带皮花生出几两干货
苞苴公行,是什么意思
黑色星期五的作者?
左眼一直跳,打一谜语!左眼还在跳,打一谜语!
Animals are more like us than we ever imag
请将下列短文巾带点的部分,用恰当的化学用语
渭南到华县多少钱 在此谢过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?