急求c#.net的优点,急急急!

本人由于写论文需要使用c#.net但是老师让我说明为什么选他,我就郁闷了,你让我用这东西二次开发的,你还问我为什么哪位大哥帮帮忙,怎么个说明法比较好呢??两位回答太简单了... 本人由于写论文需要使用c#.net但是老师让我说明为什么选他,我就郁闷了,你让我用这东西二次开发的,你还问我为什么
哪位大哥帮帮忙,怎么个说明法比较好呢??
两位回答太简单了吧,要说明为什么选择他来开发,应该是要一小段理由来蒙人吧
展开
 我来答
xxzcn
2009-01-16 · TA获得超过790个赞
知道小有建树答主
回答量:967
采纳率:100%
帮助的人:942万
展开全部
无语了,这种老师!哎~~~~

给你找几段,组合组合吧。

用 C# 设计的组件可以很容易的转换成 Web 服务,可以以任意操作系统的任意语言从 Internet 上调用。开发人员可以定义特定域的属性,并将它们应用于任何语言元素如类,接口等。开发此应用程序的团队使用 .NET 框架和 C# 语言创建了多线程的邮件服务。对这个项目来说,C# 语言看起来是最合适做应用程序设计的了;实际上,因为有了来自 .NET 框架对核心编程任务的支持,这个团队发现使用 C# 比使用 Visual Basic 更容易。

C#语言的特点
来源:未知 作者:未知

C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实地继承了C和C++的优点。如果你对C或C++有所了解,你会发现它是那样的熟悉。即使你是一位新手,C#也不会给你带来任何其它的麻烦,快速应用程序开发(Rapid Application Development,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。

正如前文所述,C#是专门为.NET应用而开发出的语言。这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。让我们来看看C#的一些突出的特点,相信在以后的学习过程中,你将会深深体会到“#”--“SHARP”的真正含义。

●简洁的语法

●精心地面向对象设计

●与Web的紧密结合

●完整的安全性与错误处理

●版本处理技术

●灵活性与兼容性

一、简洁的语法

请原谅,虽然我们一再强调学习本书不需要任何的编程基础,但在这里还不得不提到C++。

在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”、“->”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。

C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。

语法中的冗余是C++中的常见的问题,比如"const"和"#define"、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。

二、精心地面向对象设计

也许你会说,从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。

在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。

C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。

整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。

借助于从VB中得来的丰富的RAD经验,C#具备了良好的开发环境。结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。

三、与Web的紧密结合

.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。

由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效的处理各种数据。

四、完整的安全性与错误处理

语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改,......。这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。

.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.NET平台提供的垃圾收集器(Garbage Collection,GC)将负责资源的释放与对象撤销时的内存清理工作。本文发表于http://bianceng.cn(编程入门网)

变量是类型安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向的有效性;C#中提供了边界检查与溢出检查功能。

五、版本处理技术

C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。

升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。

六、灵活性和兼容性

在简化语法的同时,C#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。

如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能--delegates,代表。再举一个例子:C#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。

下面谈安全性。

正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。
song861026
2009-01-11 · TA获得超过100个赞
知道答主
回答量:128
采纳率:0%
帮助的人:0
展开全部
可以使用 ASP.NET 网页作为 Web 应用程序的可编程用户接口。ASP.NET 网页在任何浏览器或客户端设备中向用户提供信息,并使用服务器端代码来实现应用程序逻辑。ASP.NET 网页有下列特点:

基于 Microsoft ASP.NET 技术。在该技术中,在服务器上运行的代码动态地生成到浏览器或客户端设备的网页输出。

兼容所有浏览器或移动设备。ASP.NET 网页自动为样式、布局等功能呈现正确的、符合浏览器的 HTML。此外,您还可以将 ASP.NET 网页设计为在特定浏览器(如 Microsoft Internet Explorer 6)上运行并利用浏览器特定的功能。

兼容 .NET 公共语言运行库所支持的任何语言,其中包括 Microsoft Visual Basic、Microsoft Visual C#、Microsoft J# 和 Microsoft JScript .NET。

基于 Microsoft .NET Framework 生成。它提供了 Framework 的所有优点,包括托管环境、类型安全性和继承。

具有灵活性,因为您可以向它们添加用户创建的控件和第三方控件。

ASP.NET 网页的组件
在 ASP.NET 网页中,用户界面编程分为两个部分:可视组件和逻辑。如果您以前使用过类似于 Visual Basic 和 Visual C++ 的工具,您将认同在页的可视部分和页后与之交互的代码之间存在这样一种划分。

可视元素由一个包含静态标记(例如 HTML 或 ASP.NET 服务器控件或两者)的文件组成。ASP.NET 网页用作要显示的静态文本和控件的容器。

ASP.NET 网页的逻辑由代码组成,这些代码由您创建以与页进行交互。代码可以驻留在页的 script 块中或者单独的类中。如果代码在单独的类文件中,则该文件称为“代码隐藏”文件。代码隐藏文件中的代码可以使用 Visual Basic、 Visual C#、Visual J# 或 JScript .NET 编写。有关如何构建 ASP.NET 网页的更多信息,请参见 ASP.NET 网页代码模型。

ASP.NET 网页编译为动态链接库 (.dll) 文件。用户第一次浏览到 .aspx 页时,ASP.NET 自动生成表示该页的 .NET 类文件,然后编译此文件。.dll 文件在服务器上运行,并动态生成页的 HTML 输出。有关如何编译 ASP.NET 应用程序的更多信息,请参见 ASP.NET 编译概述。

ASP.NET 网页帮助您完成哪些任务
Web 应用程序编程带来了一些特殊的难题,在对传统的基于客户端的应用程序进行编程时,通常不会遇到这些难题。这些难题包括:

实现多样式的 Web 用户界面 使用基本的 HTML 功能来设计和实现用户接口既困难又费事,特别是在页具有复杂布局且包含大量动态内容和功能齐全的用户交互对象时。

客户端与服务器的分离 在 Web 应用程序中,客户端(浏览器)和服务器是不同的程序,它们通常在不同的计算机(甚至不同的操作系统)上运行。因此,共同组成应用程序的这两个部分仅共享很少的信息;它们可以进行通信,但通常只交换很小块的简单信息。

无状态执行 当 Web 服务器接收到对某页的请求时,会找到该页,对其进行处理,将其发送到浏览器,然后丢弃所有页信息。如果用户再次请求同一页,服务器则会重复整个过程:从头开始对该页进行重新处理。换言之,服务器不会记忆它已处理的页 - 页是无状态的。因此,如果应用程序需要维护有关某页的信息,其无状态的性质就成为了一个问题。

未知的客户端功能 在许多情况下,Web 应用程序可供许多使用不同浏览器的用户进行访问。浏览器具有不同的功能,因此很难创建将在所有浏览器上都同样正常运行的应用程序。

数据访问方面的复杂性 对位于传统 Web 应用程序中的数据源进行读取和写入非常复杂,并且会消耗大量资源。

可缩放性方面的复杂性 在许多情况下,由于应用程序的不同组件之间缺乏兼容性,导致用现有方法设计的 Web 应用程序未能实现可伸缩性的目标。对于发展周期较短的应用程序,这往往是一个常见的导致失败的方面。

若要解决这些 Web 应用程序的难题,可能需要大量的时间和精力。ASP.NET 网页和 ASP.NET 页框架通过以下几个方面来处理这些难题:

直观、一致的对象模型 ASP.NET 页框架提供了一种对象模型,它使您能够将窗体当作一个整体,而不是分离的客户端和服务器模块。在此模型中,您可以通过比在传统 Web 应用程序中更为直观的方式来对页进行编程,其中包括能够设置页元素的属性和响应事件。此外,ASP.NET 服务器控件是基于 HTML 页的物理内容以及浏览器与服务器之间的直接交互的一种抽象模型。通常,您可以按照在客户端应用程序中使用控件的方式使用服务器控件,而不必考虑如何创建 HTML 来显示和处理控件及其内容。

事件驱动的编程模型 ASP.NET 网页为 Web 应用程序带来了一种您熟悉的模型,该模型用于为客户端或服务器上发生的事件编写事件处理程序。ASP.NET 页框架对此模型进行了抽象,使捕获客户端上的事件、将其传输到服务器并调用适当方法等操作的基础机制都是自动的,并对于您都是不可见的。这样就得到了一个清晰的、易于编写的、支持事件驱动开发的代码结构。

直观的状态管理 ASP.NET 页框架会自动处理页及其控件的状态维护任务,它使您能够以显式方式维护应用程序特定信息的状态。这种状态管理无需使用大量服务器资源即可实现,而且可以通过向浏览器发送 Cookie 来实现,也可以不通过向浏览器发送 Cookie 来实现。

独立于浏览器的应用程序 ASP.NET 页框架允许您在服务器上创建所有应用程序逻辑,而无需针对浏览器之间的差异进行显式编码。但是,它仍允许您利用浏览器特定的功能,方法是通过编写客户端代码来提供增强的性能和更丰富的客户端体验。

.NET Framework 公共语言运行库支持 ASP.NET 页框架是在 .NET Framework 的基础上生成的,因此整个框架可用于任何 ASP.NET 应用程序。您的应用程序可以用与运行库兼容的任何语言编写。此外,数据访问通过 .NET Framework 提供的数据访问基础结构(包括 ADO.NET)得到了简化。

.NET Framework 可缩放服务器性能 ASP.NET 页框架使您能够将 Web 应用程序从一台只装有一个处理器的计算机有效地缩放到多计算机“网络场”,并且无需对应用程序的逻辑进行复杂的更改。

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/52fa0455-41ea-4315-8208-2861d1527da2.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
燕力勤01e
2009-01-11 · TA获得超过293个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:356万
展开全部
c#是个符合中国人思维的软件开发软件,可以使用汉字进行编辑。而c预言是纯字母话的编辑界面。c#在界面和功能上都比叫突出点。主要是功能比较强大的~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
休平凡23
2009-01-11 · TA获得超过620个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:597万
展开全部
开发速度相对快,周期短,能和微软的其他的软件无缝连接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4f79a57
2009-01-12 · TA获得超过106个赞
知道答主
回答量:92
采纳率:0%
帮助的人:86万
展开全部
个人觉得:
.net是一个覆盖windows客户端和web通用、统一的平台技术,它从技术角度上是跨平台跨语言的面向对象的基于组件的二进制标准的软件平台。

C#相对于C/C++,java是继承优秀、摈弃歧义;语言高效但又保持功能强大,既有学院派的严谨语法,又有工业需要的强大和简洁
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式