C#入门分享(一)——初识C#与.NET

C#是微软于2000年6月发布的一种面向对象的、运行于.NET Framework上的高级程序设计语言。它是第一个面向组件的编程语言,同时也是微软.NET windows网络框架的主角。从语言风格上来讲,C#受到了C,C++和C#的影响,兼顾了各语言的优点,也对各语言存在的问题进行了改进,因此它是一门很优秀的语言。从目前来看,c#大有赶超JAVA之势,它几乎集中了所有关于软件开发和软件工程研究的最新成果:面向对象、类型安全、组件技术、自动内存管理、跨平台异步处理、版本控制、代码安全管理……。尽管像很多人注意到的一样,罗列上述特性时,总是让人想到JAVA,然而C# 确实走得更远。现实的情况是,非技术的因素往往更能决定一个产品的未来,尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac OS、UNIX等,都败在了Windows漂亮的界面上。JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C# 的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准,软件开发商既可以省去JAVA的许可证费用,也不必担心成为微软的奴隶,那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。 

其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。

提到C#,就不得不说另一个名词,那就是.NET。.NET是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。

现在进入NET时代,—种全新的环境 ,对C++和Visual Basic这两种语言都进行了新的扩展 。同时,微软决定给开发人员提供另一个选择:一专门用于.NET、具有新起点的一种语言,即C#。它包括以下一些功能 :
● 完全支持类和面向对象编程 ,包括接口和实现继承、虚函数和运算符重载。
● 一致且定义完善的基本类型集。
● 对自动生成XML文档的内置支持。
● 自动清理动态分配的内存。
● 可以用用户定义的属性来标记类或方法。 这可以用于文档 ,对编译有一定的影响(例如,把方法标记为只在调试版本中编译)。
● 可 以完全访问.NET基类库,并易于访问 Windows API。
● 可以使用指针和直接访问内存,但C#语言可以在没有它们的条件下访问内存。
● 以Visual Basic的风格支持属性和事件。
●改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与 ActiveX控件(COM组件)相同的方式由其他代码调用。
● C#可以用于编写ASP.NET动态Web页面和XML Web服务。

说了这么多,归根结底就一句话,C#是一门很重要很有前景的语言,对于从事编程开发的人来说,学好它应该算是一项基本而重要的技能了。从下一篇博客开始,我将会为大家介绍C#的基本语法以及如何运用Visual Studio进行C#的开发,希望能和大家一起进步,在C#开发之路上走的更快,更远!

时间: 2024-11-04 00:25:21

C#入门分享(一)——初识C#与.NET的相关文章

[Unity3D入门]分享一个自制的入门级游戏项目"坦克狙击手"

[Unity3D入门]分享一个自制的入门级游戏项目"坦克狙击手" 我在学Unity3D,TankSniper(坦克狙击手)这个项目是用来练手的.游戏玩法来自这里(http://www.4399.com/flash/127672_3.htm),虽然抄袭了人家的创意,不过我只用来练习(目前还很不成熟,离人家的境界相差很大),坦克.导弹.建筑模型来自网络,应该不会有版权问题吧. 由于模型和代码总共10M以上了,需要源代码和发布的Windows版.网页版程序的同学麻烦点个赞并留下你的邮箱~ 到

Unix/Linux环境C编程入门教程(40) 初识文件操作

?? 1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown,unlink,fclose 表头文件 #include<unistd.h> 定义函数 int close(int fd); 函数说明 当使用完文件后若已不再需要则可使用close()关闭该文件,二close()会让数据写回磁盘,并释放该文件所占用的资源.参数fd为先前由open()或creat()所返回的文件描述词. 返回值 若文件顺利关闭则返回0,发生错误时返回-1. 错误代码 EBADF 参数fd

C#入门分享(九)——WPF开发

WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型.语言和框架,真正做到了分离界面设计人员与开发人员的工作:同时它提供了全新的多媒体交互用户图形界面.WPF可以更方便的开发更漂亮的界面,并且可以比以前更好地将GUI设计和程序逻辑分离开来,使得有条件的公司可以专门培养平面设计人员进行GUI设计(有点类似于与网页美工),而程序员更加关注业务逻辑. 下

git 入门教程之初识git

初识 git git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 背景 我们都知道,Linus 在1991年创建了开源的linux系统,随着不断发展壮大,目前已发展成为最大的服务器系统软件. Linus 虽然创建了 linux,但 linux 的发展壮大是靠全世界热心的志愿者参与贡献的,这么多人在世界各地为linux系统编写代码,那么linux的代码是如何管理呢? 事实上,在2002年以前,世界各地的志愿者直接将源代码通过 diff 的方式发送给Linus,然后由Li

Nginx 小入门记录 之 初识Nginx和环境准备(一)

前置知识准备: 如果还不知道服务器是干什么的,只是刚踏入程序员之路的,大家还是先学习基础,虽然以下文档很简单,但至少知道为什么要学: 一般服务器环境现在基本上都是放在Linux系统上了,如果对Linux还不熟的,可以先学习Linux入门就行了: 如果只是想单纯用Windows下联系的,其实本质和Linux环境是一样的,可以参考完成,这样可以减少Linux的学习了:  前言 Nginx 是当前很火很火的服务器,如果不了解,但至少也听说过,如果没有听说过,那赶紧开始动起来吧,教程很多很多,如下: 1

C#入门分享(八)——LINQ

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据.类似于SQL. 从技术角度而言,LINQ定义了大约40个查询操作符,如select.from.in.where以及order by(C#中).使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型. 经过了最近 20 年,面向对象编

WebRTC入门学习之初识WebRTC

引言: 先声明本人只是小小实习生一枚,若有不正确的,希望大家帮忙指正. 一.WebRTC基本架构 图一  WebRTC总体架构,摘自百度百科 先说说WebRTC大致的实现思路:我们创建的web app,然后在app中调用W3C提供的JS API,JS API 会调用浏览器中的C++层API,底层C++模块是来自Google的开源项目WebRTC,它可以让浏览器和浏览器直接传输音视频流.但若想就这样两个browser就直接通信仍是不行的,后面一节会讲到. 再看上面的图, WebRTC有三个模块,V

C#入门分享(七)——正则表达式与字符串搜索

1 正则表达式 正则表达式提供了功能强大.灵活而又高效的方法来处理文本.正则表达式的全面模式匹配表示法可以快速地分析大量的文本以找到特定的字符模式:提取.编辑.替换或删除文本子字符串:或将提取的字符串添加到集合以生成报告.对于处理字符串(例如 HTML 处理.日志文件分析和 HTTP 标头分析)的许多应用程序而言,正则表达式是不可缺少的工具. .NET 框架正则表达式并入了其他正则表达式实现的最常见功能,被设计为与 Perl 5 正则表达式兼容,.NET 框架正则表达式还包括一些在其他实现中尚未

C#入门分享(五)——对象与类

到目前为止,我们介绍了组成C#语言的主要模块,包括变量.数据类型和程序流语句 ,并简要介绍了一个只包含Main()方法的完整小例子.但还没有介绍如何把这些内容组合在一起,构成一个完整的程序,其关键就在于对类的处理. (一) 类与结构 类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法.类定义了类的每个对象(称为实例)可以包含什么数据和功能.例如,如果一个类表示一个顾客,就可以定义字段CustomerID. FirstName.LastName和Address, 以