Board logo

标题: 你认为目前C#的实际应用范围大吗?? [打印本页]

作者: rohaha    时间: 2005-2-23 11:38     标题: 你认为目前C#的实际应用范围大吗??

目前C#还算一个比较年轻的程序语言,有些人说C#会代替C++成为新一代的主力军。我认为在目前的实际应用中它还远远比不过C++。不说别的,就拿.NET框架来说,目前的所有Windows平台默认的都没有安装.NET框架,就连Windows XP的SP1补丁也是在选装中默认不安装.NET框架的。自己开发一个5MB左右的程序给别人用,对于没有安装过.NET的用户来说还要安装一个23MB多的运行环境,其实也是一件挺不爽的事情。多媒体方面的欠缺、GDI方面的不足等等等等都说明了C#还很年轻。这是我用C#编写程序过程中的一些小的看法,大家认为呢??
作者: newsight    时间: 2005-2-26 07:41

它的用处当然大了,下面说个事例: 微软在其.Net战略中,对其主推的Web服务做了大肆的宣扬。现在,Web服务正如火如荼地发展着,相关的各项新技术层出不穷。Web服务的发展正构筑着互联网时代美好的明天。在本文中,我将向大家介绍Web服务的一些基本知识以及如何用Visual C#一步一步地创建一个简单的Web服务。 一.Web服务概述:   Web服务是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web服务可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web服务应用程序可以发现并调用它部署的服务。Web服务可以把业务逻辑划分一个一个的组件,然后在整个因特网的范围上执行其功能。所以,它是构造分布式、模块化应用程序的最新技术发展趋势。 二.为什么需要Web服务?   以前,分布式的应用程序逻辑需要使用分布式的对象模型,通过使用DCOM、CORBA、RMI之类的基本结构,开发人员仍可拥有使用本地模型所提供的丰富资源和精确性,并可将服务置于远程系统中。   当已经有中意的中间件平台(RMI、Jini、CORBA、DCOM 等等)时,我们为什么还要为Web而烦恼呢?中间件确实提供了强大的服务实现手段,但是,这些系统有一个共同的缺陷,那就是它们无法扩展到互联网上:它们要求服务客户端与系统提供的服务本身之间必须进行紧密耦合,即要求一个同类基本结构。然而这样的系统往往十分脆弱:如果一端的执行机制发生变化,那么另一端便会崩溃。例如,如果服务器应用程序的接口发生更改,那么客户端便会崩溃。为了能扩展到互联网运用,我们需要一种松散偶合的基本结构来解决这个问题。如此的情况下就迎来了Web服务的诞生。 三.开发环境: 1.Windows 2000 Server操作系统或Windows XP操作系统; 2..Net Framework以及Visual Studio.net开发工具。 四.创建Web服务工程: 我在这里向大家介绍一个美元到人民币转换的Web服务实例,该实例完成的功能相当简单,从名字我们就能知道其中的功能。但是这也是一个非常不错的例子,特别对于初学者,能起到很好的指导作用。在创建Web服务过程中,我们用到的是C#语言。下面就是具体的项目步骤了。   首先,打开VS.net,新建一个项目,在左边的面板中选择“Visual C#项目”,右边的面板中选择“ASP.NET Web服务”,并命名为“WebService1”,图示如下: 图1   按下“确定”按钮后,VS.net就开始帮你新建该项目,期间还可能会出现一个用来显示Internet连接的对话框。在新建完项目后,在开发工具中会出现如下所示的界面: 图2   因为我们要实现的是一个非常简单的Web服务,所以我们需要的功能和我们的代码量都很小,于是就不必去考虑上图中的“服务器资源管理器”和“工具箱”两个超链接,而可以直接点击上图中的“此处”链接进行代码编辑,点击后会打开代码编辑框,图示如下: 图3   在上面的代码编辑框中,我们先把原有的“Hello World”Web服务的示例代码去掉,替换成我们的代码,最终如下: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace WebService1 { /// /// Service1 的摘要说明。 /// public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN:该调用是 ASP.NET Web 服务设计器所必需的 InitializeComponent(); } #region Component Designer generated code //Web 服务设计器所必需的 private IContainer components = null; /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { } /// /// 清理所有正在使用的资源。 /// protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // WEB 服务 // DollarConvertToRMB() 服务完成美元到人民币的转换 // 若要测试此 Web 服务,请按 F5 键 [WebMethod] public double DollarConvertToRMB(double Dollar) { return ( Dollar * 8.15); } } }   在上面的方法DollarConvertToRMB()中,我们返回的是一个double类型的值――Dollar*8.15,其中的8.15我想是不言而喻的(就是美元到人民币的汇率)。不过现实的汇率是不固定的,而且每天都要变动,所以要根据当天实际的汇率来计算,那么我们就要连接到数据库获得最新的信息了。不过,这里作为一个简单实例,我们当然不需要搞得那么复杂,所以在这里我就姑且假定汇率为1:8.15。   同时,我们还需要注意,在该Web服务的代码中我们用到了using System.Web、using System.Web.Services等名字空间,作为Web服务开发,这些名字空间是显然不能缺的,没有了这些,我们就不能调用.Net框架为我们提供的开发Web服务所必须的方法和函数等,所以一定不能忘掉。   到此为止,代码编写已经完毕,然后把代码文件存放在某个虚拟目录下(通常是C:\Inetpub\wwwroot\WebService1)即可。把文件保存为Service1.asmx。Asmx文件扩展名是.NET Web服务的标记。保存文件之后,你的Web服务就准备露脸了。 五.测试Web服务: 现在准备好测试Web服务。期间你不必通过显式的编译全过程,只需要地在目录下保存文件然后调用它即可。为了调用最新创建的服务,请打开你的浏览器并输入服务路径,包括Asmx文件的名字。如果你把服务放了在C:\Inetpub\wwwroot\WebService1目录下,那么你要在浏览器地址栏上键入http://localhost/WebService1/Service1.asmx。(当然,在你使用VS.net开发时,你也可以通过Ctrl+F5直接进行Web服务的测试。)   在调用服务时会显示一幅包含大量信息的网页。一开始这可能会令你觉得有点糊涂:不管怎么说,你还没有为这种服务创造过HTML网页。其实,你根本不必创建测试网页,因为.NET框架已经帮你这个忙了。当你直接通过浏览器调用Web服务时,框架就会为你产生一个网页并通过它向你显示Web服务的信息,同时列出所有可用的方法。下图即是Web服务的网页。 图4 在这个例子中列出的方法没什么特别之处,因为仅有一个方法(DollarConvertToRMB)。鼠标点击这个方法会显示另一个网页,如图5所示。这一页就是该特定方法的测试页,其中包括对应方法接受的每个参数的文本框。现在请在文本框中输入“10”并按下“调用”按钮。 图5 单击“调用”按钮会打开一个新的浏览器窗口,其中显示了一些XML代码。这些XML代码是由该Web服务返回的,其中包括了服务的结果。返回的XML代码如下图所示: 图6   返回的结果是一些XML代码,可能用户界面显得不那么友好,但是这些结果确实不一定非要采取对用户友好的格式,因为你通常不会从浏览器直接调用Web服务。相反,你往往从应用程序调用Web服务同时适当地处理返回的XML代码。不过,也很容易从上面的代码看出Web服务已经把10美元转换成了81.5人民币了。 六.总结:   上面举的这个例子很简单,它完成的任务是:创建一个组件,如果组件放在Web服务器上就可以被世界上任何地方的任何人访问。客户不必装载COM 或DCOM;甚至也不必拥有Windows客户程序。任何能创建HTTP连接的客户程序都能调用Web服务并且收到结果。这种功能开辟了创建分布式应用程序、实现平台之间互操作的全新领域。同时,我们也不难发现用VS.net开发Web服务是一件相当容易的事。有兴趣的读者可以试着开发出功能更强大的Web服务并将它赋予实际应用之中。


作者: rohaha    时间: 2005-2-26 18:28

赞同newsight的说法,Windows和Web的快速开发,微软确实向这方面发展呢。
作者: volte    时间: 2005-3-4 20:49

大家想想JAVA用了多长时间,
C#用了多长时间,
现在JAVA有多流行。
再想想现在在往动态的网页发展。这样的WEB技术确实是比较新颖,
但是网络是在发展的,
大家在想想以前的计算机的普及就知道它的发展了。
作者: lsj2000    时间: 2005-3-9 21:58

C#还很年轻,C#的程序员也很年轻。
给点时间,C#和C#程序员都会做的很好。
作者: chwxz    时间: 2005-3-11 12:11

微软计划主要用C#做开发工作,公开C#的标准,你想一想微软涉到的范围有多大,C#应用范围就有多大
作者: 幻风幻云    时间: 2005-3-14 10:35

看来选择c#真没错
作者: framework    时间: 2005-3-14 17:42

C#应该很好!我也希望!因为我正在学!
作者: tanghui    时间: 2005-3-14 18:41

c#会是未来替代c++,最近我业开始学了
作者: tianhe    时间: 2005-3-18 10:10

我刚开始学C#,我认为每种语言都不可能替代另一种语言,C#可能会跟C和C++齐头并进,平分秋色。
作者: 左岸    时间: 2005-3-18 10:30

编程语言没有好和坏,开发出来的东东确分好和坏!
作者: 左岸    时间: 2005-3-18 10:32

编程语言没有好和坏,开发出来的东东确分好和坏!
作者: 左岸    时间: 2005-3-18 10:32

[QUOTE]编程语言没有好和坏,开发出来的东东确分好和坏![/QUOTE]
作者: foxrain    时间: 2005-3-18 14:40

我也是剛學C#,好多東西都不太明白,希望這裡的朋友多多幫助。
作者: foxrain    时间: 2005-3-18 14:40

我也是剛學C#,好多東西都不太明白,希望這裡的朋友多多幫助。
作者: eastsnake    时间: 2005-4-11 16:36

C#不会替代C++的,它的主要应用领域是WEB,而C++在系统方面有专长,
从长远来讲,替代JAVA到有可能
作者: eastsnake    时间: 2005-4-11 16:37

C#不会替代C++的,它的主要应用领域是WEB,而C++在系统方面有专长,
从长远来讲,替代JAVA到有可能
作者: leifeng926    时间: 2005-4-11 17:00

好象有很少的一部分不能代替C++
象对内存的操作方面
作者: shanji    时间: 2005-4-15 00:25


作者: fuyu888    时间: 2005-4-15 18:02

啊 什么 谁对C#和.NET有怀疑吗????

强烈支持.NET~~~~~~~~~~~~[
作者: shenying    时间: 2005-4-15 22:00

用处是很大的哦!!
你还不了解哦!
作者: yushengou    时间: 2005-4-16 14:30

大家都说C#好,C#啊,天天见
作者: littleh    时间: 2005-4-17 19:14

web,web服务是vc#.net的一个卖点
作者: wangjj8288    时间: 2005-4-22 20:10

我也相信c#会是未来替代c++,我也最近才学
我知道它会慢慢成为未来程序爱好者的武器
而且是非常厉害的武器
我也希望大家能多多照顾小弟
作者: luojianhua    时间: 2005-4-24 17:17

呵呵,我也开始学了,不过我对web服务懂得很少,我主要是开发winform数据库程序,刚上手;不过我对web服务很感兴趣,希望有时间能和楼上的大姐多多交流!!
作者: dxq8293    时间: 2005-4-25 12:33

我是初学者,对于C#,我认为不会完全代替C++.
作者: 黑马白浪    时间: 2005-5-2 12:56

我感觉C#的前景应该很好,我刚刚涉入,不过是公司方面要求的。估计这就是我们以后的语言了。
作者: junmde    时间: 2007-5-7 22:06

我现在也在学C#,它在现实中的实用情况我一点都不清楚...不晓得能不能和JAVA平分天下...先学的是JAVA,现在的感觉是C#的开发速度确实比JAVA快的多了...是不敢想像的快呢....


作者: 飙马    时间: 2007-5-8 11:43

这个Web的例子还是蛮不错的,简单易懂,感谢楼主!
作者: guoxhvip    时间: 2007-5-8 20:48

只要学精就不愁应用范围不大

作者: 天使不哭    时间: 2007-5-8 21:40

底层程序我觉得还是c++
我想谁也不会用C#编个病毒出来吧
(运行之前还要先装netframework)
作者: jacklee    时间: 2007-5-13 10:21

C#            替换C++。感觉没啥可能。你去学下C++,感觉下她的速度和功能吧!写个WIN32程序速度N的牛。。如果你写个绘图程序。用C#写出来的在C++面前可就丑了。
作者: uatoily    时间: 2007-5-13 18:37

说巨大呢,,可以代C++我也不知道...因为本人水平有限....
就一般也不行...
还是什么都不选的好...
路过...反正学习了就学习了....小东西就自己用....等做出好东西就不会差那20M的东西啦-_#
相信我,小东西自己多做些.好东西慢慢做-_#.好东西不差20M.就像100元在脏你也不是拿在手中.想想钱都经过了N个轮回的人-_#,相信病毒细菌不少吧.
闪-_#说太多了


作者: wxiaoer2008    时间: 2007-5-18 13:38

语言是工具,算法才是灵魂!
作者: zzf19830312    时间: 2007-5-19 13:57

c#是不可能代替c++的,每一种语言,都有他的优势和虐势!好像现在的vb,还有不少人在有,方便,快捷,成本低,等等!
大家学吧
我也在学c#
作者: 卡卡艾    时间: 2007-5-19 14:29

2楼的真厉害...顶哈..有前途的,好好学......


作者: 沉沦过迁    时间: 2007-11-24 21:54

希望C#越来越强 它可是我主攻方向啊
作者: 天使不哭    时间: 2007-11-24 21:55

这么老的帖子都被你们弄出来了啊.....
作者: shiweifu    时间: 2008-1-3 18:33

刨坟帖?

呵呵,支持C#
作者: 梦心    时间: 2008-1-7 11:23

呵呵,C#不错,我正在学习!!
学精了比什么都强
作者: 月牙儿    时间: 2008-1-8 11:58

语言各有优势,就看你怎么学了!
作者: andey    时间: 2008-1-8 14:00

毫无意义的讨论
作者: karv    时间: 2008-1-10 20:40

个人认为,目前阶段在web开发方面还不错,至于应用程序开发,不是太广
作者: Joey_李    时间: 2008-1-11 16:34

我也觉得C#很好.....现在感觉c#和java没什么很大的区别 可能我学的还不是很深入不
作者: sagajoy    时间: 2008-1-11 20:13

C#很强,很牛叉
作者: 球球    时间: 2008-1-12 23:04

刨墳貼,支持!
其實語言不在多,精一門則行。個人認為語言都是相通的。苦心鉆研一門就夠用一生的。
作者: WuFa    时间: 2008-1-13 17:22

我喜欢C#,因为教我们的老师特别棒,授课方式适合我的口味!
作者: peach5460    时间: 2008-1-31 22:23

我觉得每个语言都有其局限性...并不能保罗万千...

c#取代不了C++
作者: peach5460    时间: 2008-2-2 09:46

套用魔兽里面很经典的话

没有垃圾职业,只有垃圾玩家

恩,恩
语言不分好坏,重要是看谁用这门语言在编程
作者: 汪洋兽    时间: 2008-2-8 14:27

语言没有好坏优劣之分,但程序员有优劣之分!
作者: caiyakang    时间: 2008-2-11 01:42

等到CPU能够直接运行IL指令,C#的性能应该会超过C++
我认为.netframework以后将是系统的一部份~~~
至于WINDOWS下的C++,也是要调用WINDOWS下的一些东西的!
作者: 梦心    时间: 2008-2-15 15:52

编程语言没有好和坏,开发出来的东东确分好和坏!
作者: け澔けゑ楓ぁ    时间: 2008-2-17 23:04

看来我的选择也是没错的。支持C#[bc01]
作者: sea7    时间: 2008-2-20 15:22

C#无法替代c++,c#本身是为web开发的,个人觉得语言就是工具,完成不同的应用自然需要不同的工具。
作者: lizhenzhi    时间: 2008-2-21 14:58

还行呀,比较强大
作者: 重庆萤火虫    时间: 2008-3-6 17:22

还是要看语言的延伸性还有涉及的范围。[bc01]
作者: SecretX    时间: 2008-8-2 19:57

没有最好的语言,只有最好的程序员.
作者: 釕嶰    时间: 2008-8-3 09:39

其实C#并不比JAVA差.
作者: mao4mao    时间: 2008-8-3 11:00     标题: 不错

很好  很强大啊·
作者: jasonxing    时间: 2008-8-4 12:01

努力學好就行~
作者: 漏网之雨    时间: 2008-8-5 11:32

c#永远支持

对于楼主说的那些环境问题,现在是个问题,我想以后就不是了,微软的产品,它公司本身都很着急解决这个问题,我们不用急。

c c++ c#(c++++)这样升级过来,但每个语言都有每个语言的不同之处,不同的开发方向,缺陷每种语言都有点。

c#我是支持的!
作者: duanzelong    时间: 2008-8-5 23:49

提示: 作者被禁止或删除 内容自动屏蔽
作者: FlyBee    时间: 2008-8-8 16:14

如果想向WEB方向发展就学C#
作者: xlh5225    时间: 2008-8-9 13:37

C#会替代C++??,说这种话的人很不负责,而且我想是C++学不好的吧,C++的优势是C#不可能比拟的!你去看看现在的主流开发就知道,C#在什么位置!
作者: 死神DIY    时间: 2008-8-10 01:11

C#替代不了C++的,至少要给一个总线或是其它什么的写驱动或是通信程序什么的我会先择C++而不是C#。各种语言都有各自的优势和劣势。我是C#初学者的一说……
作者: shenj    时间: 2008-8-12 20:19

在web上开发上,在现有比更好的吗?
作者: liubaoen    时间: 2008-8-12 22:10

一门语言在它诞生的时候应该就有自己的定位,我觉得,C#永远不可能取代C/C++,希望有一天C#可以取代java,但不一定是我所能看到的,因为java有太多的使用者,而C/C++的代码执行效率太高,对于大型应用估计还是用它们开发的多.
C Sharp的定位,只是快速应用开发,也就是在效率上可是别的语言没有比的,但是它的跨平台型太差,执行速度一般,需要资源多,等诸多因素都决定了它的应用不会太广。
它永远是绑在windows上的一个悲哀者,希望mono开发组能帮C sharp走的更远。
作者: as49988    时间: 2008-8-12 22:51

C#是一门非常优秀的语言,集合了C与C++的很多优点又省去了很多弊端,正如《C#入门经典》所说“尽管做了这些简化,但C#仍保持了C++原来的功能,所以现在没有理由不从C++转向C#。”
随着时间推移,C#必将更完善!
作者: jianlu1223    时间: 2008-8-14 13:22

个人认为C#还是属于应用层面开发,底层方面还是欠缺速度和跨平台性




欢迎光临 编程论坛 (https://bbs.bccn.net/) Powered by Discuz! 6.1.0