当前位置 : 裤袜|裤袜搭配|瘦腿裤袜|外贸袜子批发网 > 复古传奇 > 正文
class Hello      static void Main
文章作者:admin 文章来源: 更新时间:11/11/24
词语解释

C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#领有C/C++的强盛功效以及Visual Basic简易应用的特征,是第一个组件导向(Component-oriented)的程序语言,跟C++与Java一样亦为对象导向(object-oriented)程序语言。

目录

简介定义C#从Java继承而来的特点强类型C#从C和C++继承的特点命名空间操作符重载:C#独有的特点动态查阅中间代码:命名空间中的申明:基础的数据类型两个基本类:参数传递:与COM的集成:索引下标:署理和反馈: 简介  C sharp(音标 [∫a:p] )(又被简称为"C#")是微软公司在二OOO年六月宣布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研讨员Anders Hejlsberg的最新结果。C#看起来与Java有着惊人的类似;它包括了诸如单一继续、界面、与Java简直同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着显明的不同,它鉴戒了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。   在本文中,我将考核创建一种新盘算机语言的个别念头,并将特别指明是什么起因导致了C#的涌现,然后我将先容C#和它与Java、C、C++的相似之处。其次我将探讨一些存在于Java和C#之间的高档次的、和基本的差异。我将以权衡在用多种语言开发大型利用程序的时候所需的知识(或者对这种常识的缺少程度)来停止本文,而这正是.NET和C#的一个主要策略。目前,C#和.NET还只能以C#语言规矩,以及Windows 2000的一个"d预览版本",还有MSDN上敏捷增多的文档集子的形式取得(还没有最终定型)。定义  微软C#语言定义重要是从C和C++继承而来的,而且语言中的很多元素也反应了这一点。C#在设计者从C++继承的可选选项方面比JAVA要广泛一些(好比说struts),它还增添了本人新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮JAVA。C#还须要进化成一种开发者能够接受和采取的语言。而微软当前为它的这种新语言大造声势也是值得留神的。目前大家的反映是:“这是对JAVA的回击” 。   C#更像JAVA一些,固然微软在这个问题上坚持缄默。这也是预料中的事件,我感到,因为JAVA近来很胜利而使用JAVA的公司都讲演说它们在出产效力上比C++获得了进步。   JAVA所带来的宏大影响和大家对它的广泛接收已经由工作于这种语言和平台之上的程序员数目显著的阐明了(估量世界范畴内共有两百五十万程序员使用JAVA)。由这种语言写成的应用程序的数量是令人惊奇的并已经浸透了每一个级别的计算,包括无线计算和挪动电话(比方日本发现的JAVA电话)。C#能够在用户领域失掉这样的礼遇吗?我们必须等候并张望,就象已经过SSI公司的CEO和主席KALPATHI S. SURESH指出来的那样:"我发明所有这些都是渐进的。假如C#不存在,我们总能回到JAVA或C和C++。这些都不完整是新技术,它们在更大的意思上来说只是至公司制作的市场噱头。我们必须给他们时光安置下来看看这些是不是真的对IT产业有什么影响。"   C# (C SHARP)是微软对这一问题的解决计划。C#是一种最新的、面向对象的编程语言。它使得程序员可以疾速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大水平地开发应用计算与通信范畴。   恰是因为C#面向对象的出色设计,使它成为构建各类组件的幻想之选——无论是高等的商业对象仍是系统级的运用程序。使用简略的C#语言构造,这些组件能够便利的转化为XML网络服务,从而使它们可以由任何语言在任何操作体系上通过INTERNET进行调用。   最主要的是,C#使得C++程序员可以高效的开发程序,而毫不丧失C/C++原有的壮大的功能。由于这种继承关系,C#与C/C++存在极大的相似性,熟习相似语言的开发者可以很快的转向C#。C#从Java继承而来的特点  类:在C#中类的申明与Java很相似.这是公道的因为教训告知咱们Java模型工作得很好.Java的症结字import已经被替代成using,它起到了同样的作用.一个类开端执行的出发点是静态Main()方法.下面的Hello World程序展现了程序基本结构情势:   using System;   class Hello   {   static void Main()   {   Console.WriteLine("Hello, world");   Console.ReadLine();   }   }   在这个例子中,System这个名字指向一个包含了基本C#适用类聚集的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类.C#关键字lock就象Java关键字final,它声名一个类不是抽象的,但是它也不能被用做另一个类的基类.界面:就象在Java中一样,一个界面是一组方法集合的形象定义.当一个类或结构体实现一个界面的时候,它必需实现这个界面中定义的所有方法.一个单一的类可以实现多少个界面.兴许当前会呈现一些奥妙的差别,但是这个特点看起来与Java比拟没有变更.布尔运算:前提表白式的结果是布尔数据类型,布尔数据类型是这种语言中独破的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量true和false是C#中的关键字.过错处理:如Java中那样,通过抛出和捕获异样对象来治理错误处置过程.内存管理:由底层.NET框架进行主动内存垃圾回收.一个基本的C#类中包括数据成员、属性、结构器和办法。属性可以是静态或实例成员。强类型  C#是一个强类型的语言,它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,例如int可以转换成long,float,double,decimal.反之必须显式的转换. 例:   int a=7;   float b=a; //隐式转换   long c= 12L ; //和C++一样必须加上后缀L才干定义为long型不然就为int型了   a=(int)c; //显式转换   使用上面的显示转换不能用在bool和string类型上。C#从C和C++继承的特色  编译:程序直接编译成尺度的二进制可履行形式.如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序.   结构体:一个C#的结构体与C++的结构体是相似的,因为它可以包含数据声明和方法.但是,不象C++,C#结构体与类是不同的而且不支撑继承.但是,与Java相同的是,一个结构体可以实现界面.   预编译:C#中存在预编译指令支持条件编译,忠告,毛病呈文和编译行把持.可用的预编译指令有:   #define   #undef   #if   #elif   #else   #endif   #warning   #error   #line []   没有了#include 伪指令.你无奈再用#define 语句对符号赋值,所以就不存在源代码调换的概念--这些符号只能用在#if和#elif伪指令里.在#line伪指令里的数字(和可选的名字)能够修转业号还有#warning和#error输出成果的文件名.命名空间  命名空间提供了一种方法来唯一标识一个类型以及进行类型的逻辑组织。命名空间可以嵌套使用并可以跨程序集使用。一个类型的完全限定名包括所有命名空间。在一个命名空间中,所有的类型必须有一个独一的名称。根本类型库(Base Class Library)是.NET Framework的所有语言可下可用的命名空间集。命名空间是组织和重用代码的编译单元。命名空间和文件的结构关联不像Java,命名空间与文件的结构之间不关系。using语句是用来在使用类型时不需要用全限定名的类型,全限定名也可以被使用。命名空间中的声明,C#与C++有所不同,是C#独有的特点。操作符重载:  一些操作符能够被重载,而另一些则不能.特殊的是,没有一个赋值运算符能够被重载.可能被重载的单目操作符是:   + - ! ~ ++ -- true false   能够被重载的二元运算符是:   + - * / % & | ^ << >> == != > < >= <=C#独占的特点  C#最令人着迷的处所是它和Java的不同,而不是相似的地方.这一节(和这个系列第二部分的大部分地方)讲述了C#实现的和Java不同的地方或者Java基本没有的特点.动态查阅  C# 4.0 新增 dynamic关键字,供给动态编程(dynamic programming),把既有的静态对象标志为动态对象,类似javascript, Python 或 Ruby。   dynamic calc = GetCalculator();   int sum = calc.Add(10, 20);   具名参数与可选参数public StreamReader OpenFile(   string path,   int bufferSize =1024)   {   ...   }   调用 OpenFile 时, 次序可以完全倒置:   OpenFile(bufferSize:4096, path:"foo.txt");旁边代码:  微软在用户抉择何时MSIL应当编译成机器码的时候是留了很大的余地.微软公司很警惕的宣称MSIL不是解释性的,而是被编译成了机器码.它也清楚许多--如果不是大多数的话--程序员以为Java程序要不可防止的比C编写的任何货色都要慢.而这种实现方法决议了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一个合乎CLS的版本--等语言编写的程序)将在性能上超过"说明性的"Java代码.当然,这一点还需要得到事实证实,因为C#和其余生成MSIL的编译器还没有发布.然而Java JIT编译器的广泛存在使得Java和C#在机能上绝对雷同.象"C#是编译语言而Java是解释性的,"之类的声明只是贸易技能.Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码.命名空间中的申明:  当你创立一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体.必须使用using关键字来引用其他命名空间的内容.基本的数据类型  C#占有比C,C++或者Java更普遍的数据类型.这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一样,所有这些类型都有一个固定的大小.又象C和C++一样,每个数据类型都有有符号和无符号两品种型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对货泉数据,它能寄存28位10进制数字.两个基本类:  一个名叫object的类是所有其他类的基类.而一个名叫string的类也象object一样是这个语言的一局部.作为语言的一部门存在象征着编译器有可能使用它--无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保留它.参数传递:  方法可以被声明接受可变数目标参数.缺省的参数传递方法是对基本数据类型进行值传递.ref要害字可以用来逼迫一个变量通过引用传递,这使得一个变量可以接受一个返回值.out关键字也能声明引用传递进程,与ref不同的地方是,它指明这个参数并不需要初始值.与COM的集成:  C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技巧.实际上,终极有可能在任何.NET语言里编写COM客户和服务器端.C#编写的类可以子类化一个已存在的COM组件;天生的类也能被作为一个COM组件使用,而后又能使用,比喻说,JScript语言子类化它从而得到第三个COM组件.这种景象的结果是导致了一个运行环境的发生,在这个环境里的组件是网络服务,可用任何.NET语言子类化.索引下标:  一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的.   public class ListBox: Control {   private string[] items;   public string this[int index] {   get {   return items[index];   }   set {   items[index] = value;   Repaint();   }   }   }   可以用一个轮回器来匿名援用字符串内部数组成员,就象下面这样:   ListBox listBox = ...;   listBox[0] = "hello";   Console.WriteLine(listBox[0]);代理和反馈:  一个代理对象包括了拜访一个特定对象的特定方法所需的信息.只有把它当成一个聪慧的方法指针就行了.代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型保险的调用.一个反馈方式是代理的特例.event关键字用在将在事件产生的时候被当成代办调用的方法声明中. 扩大浏览: 1

Visual C#开发职员核心:

开放分类: 程序,微软 我来完美 “C SHARP”相干词条:
浏览次数:0
文章分类
文章搜索
标题 内容

推荐文章
执门文章
« 他是个言必称《圣经》的神学毕业生、正统的基督教徒 ┊ 又经由35年的艰难尽力 »


拒绝盗版 注意自我保护 谨防受骗上当 合理安排时间 享受健康生活
Copyright © 2004 - 2012 裤袜 All rights reserved.
建议使用ie6.0以上版本进行浏览,请使用1024*768分辨率浏览本站以达到最佳视觉效果