请高手指点C skinsharpp 学习方法?

概述/C SHARP
C sharp(又被简称为“C#”)是在发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了的一个特点,与(组件对象模型)是直接集成的,而且它是微软公司网络框架的主角. 在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现.然后我将介绍C#和它与Java,c,c++的相似之处.其次我将讨论一些存在于Java和C#之间的高层次的,和基础的差别.我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.NET和C#的一个主要战略.目前,C#和.NET还只能以C#语言规则,以及的一个"d预览版本",还有上迅速增多的文档集子的形式获得(还没有最终定型). 微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击." C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高. Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由公司的CEO和主席Kalpathi S. Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."
C#从java继承而来的特点/C SHARP
类:在C#中类的申明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态方法Main().下面的Hello World程序展示了基本的形式: using S class Hello { static void Main() { Console.WriteLine("Hello, world"); } } 在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类.C#关键字lock就象final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类.界面:就象在Java中一样,一个界面是一组方法集合的抽象定义.当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法.一个单一的类可以实现几个界面.也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化.布尔运算:条件表达式的结果是类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量true和false是C#中的关键字.错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程.内存管理:由底层.NET框架进行自动内存垃圾回收.
C#从C和C++继承的特点/C SHARP
编译:程序直接编译成标准的二进制可执行形式.如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名的可执行程序. 结构体:一个C#的结构体与C++的结构体是相似的,因为它能够包含数据申明和方法.但是,不象C++,C#结构体与类是不同的而且不支持继承.但是,与Java相同的是,一个结构体可以实现界面. 预编译:C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制.可用的预编译指令有: #define #undef #if #elif #else #endif #warning #error #line 【】 没有了#include 伪指令.你无法再用#define 语句对符号赋值,所以就不存在源代码替换的概念--这些符号只能用在#if和#elif伪指令里.在#line伪指令里的数字(和可选的名字)能够修改行号还有#warning和#error输出结果的文件名. 操作符重载:一些操作符能够被重载,而另一些则不能.特别的是,没有一个赋值运算符能够被重载.能够被被重载的单目操作符是: + - ! ~ ++ -- true false 能够被重载的二元运算符是: + - * / % & | ^ && && == != & & &= &=
C#独有的特点/C SHARP
C#最引人入胜的地方是它和Java的不同,而不是相似的地方.这一节(和这个系列第二部分的大部分地方)讲述了C#实现的和Java不同的地方或者Java根本没有的特点. 中间代码:微软在用户选择何时应该编译成机器码的时候是留了很大的余地.微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码.它也明白许多--如果不是大多数的话--程序员认为Java程序要不可避免的比C编写的任何东西都要慢.而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过"解释性的"Java代码.当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布.但是Java 器的普遍存在使得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【】 public string this【int index】 { get { return items【index】; } set { items【index】 = (); } } } 可以用一个循环器来匿名引用字符串成员,就象下面这样: ListBox listBox = ...; listBox【0】 = "hello"; Console.WriteLine(listBox【0】); 代理和反馈:一个代理对象包括了访问一个特定对象的特定方法所需的信息.只要把它当成一个聪明的方法指针就行了.代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用.一个反馈方法是代理的特例.event关键字用在将在事件发生的时候被当成代理调用的方法声明中.
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:4次
参与编辑人数:4位
最近更新时间: 02:31:21
贡献光荣榜在C#代码中,还有另一种方法可以防止程序流程从一;使用关键字const声明常量,同时必须给他们赋值;constintintT;intTwo=2;//错误的;4.4循环;4.4.1do循环;4.4.2while循环;4.4.3for循环;可以把计数器变量声明为for语句的一部分:for;-----------下面的;迭代计算例子在实际应用中很重要,以后学
在C#代码中,还有另一种方法可以防止程序流程从一个case语句转到下一个case语句。可以使用return语句,中断当前函数的运行,这远胜于中断switch结构的执行。
使用关键字const 声明常量,同时必须给他们赋值,并不能在别的地方改变。例如: const int intTwo=2; //正确的
const int intT
4.4.1 do循环
4.4.2 while循环
4.4.3 for循环
可以把计数器变量声明为for语句的一部分: for(int i=1;i&=10;i++) 如果这样做的话,变量i就不能在循环外部使用。
-----------下面的
迭代计算 例子在实际应用中很重要,以后学习。P7------------------------2
Console.write();不换行
Console.writeline();输出以后换行
4.4.4 循环的中断
以上是 C#入门经典 里面的部分内容
下面是 C#语言规范3.0 学习
第一章简介
C#(读作C Sharp)是一种简单、现代、面向对象且类型安全的编程语言。C#具有一个统一类型系统(unified type system)。所有C#类型(包括int和double之类的基元类型)都继承于一个唯一的根类型:object。C#的设计中充分强调了版本控制(versioning)。 C#是微软为.NET Framework量身订做的程序语言,使得程序员可以快速地开发各种基于Microsoft .NET平台的应用程序。C#拥有C/C++的强大功能以及VB简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向程序语言。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选――无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。 C#4.0新增dynamic关键字,提供动态编程。
1.1Hello world!
C#源文件的扩展名通常是 .cs
假定程序存储在文件hello.cs中,可以使用命令调用Microsoft C#编译器编译这个程序: csc hello.cs
。 编译后将产生一个名为hello.exe的可执行程序集。
using S //using是一个指令,它引用了 System 命名空间。命名空间(namespace)提供了一种分层的方式来组织C#程序和库。命名空间中包含有类型及其它命名空间。例如,System命名空间包含若干类型(如Console类)以及若干其它命名空间(如IO和Collections)。 例如:Console.WriteLine函数在使用了 using S后可以直接使用,是非限定方式;如没有使用using S必须是System. Console.WriteLine,是完全限定方式。
在C#中类的声明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态Main()方法
using S //System为a命¨1名?空?间?
using System.Collections.G
using System.L
using System.T
namespace CSharpTest
class Program
static void Main(string[] args)
Console.WriteLine(&Hello World!!!&);
1.2程序结构
C#中组织结构的关键概念是 程序(program)、命名空间(namespace)、类型(type)、成员(member)和程序集(assembly)。C#程序由一个或多个源文件组成。程序中声明类型,类型包括成员,并且按命名空间进行组织。类和接口就是类型的示例。字段、方法、属性和事件是成员的示例。在编译C#程序时,它们被物理的打包为程序集。程序集通常具有文件扩展名.exe或.dll,具体取决于它们是实现应用程序(application)还是实现库(library,没有Main入口的代码)。
命名空间中的申明:
当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体.必须使用using关键字来引用其他命名空间的内容.
1.3类型和变量
1. C#中类型:值类型(value type)和引用类型(reference type)。值类型的变量直接包含它们的数据,引用类型的变量存储对它们的数据的引用,后者称为对象。
2. 值类型:简单类型、枚举类型、结构类型和可以为null的类型。Byte short int long char float double bool enum struct decimal(高精度小数)
3. 引用类型:类类型(class)、接口类型、数组类型和委托类型。
强类型:C#是一个强类型的语言,它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,例如int可以转换成long,float,double,decimal.反之必须显式的转换. 例:
float b=a; //隐式转换
long c= 12L ; //和C++一样必须加上后缀L才能定义为long型不然就为int型了
a=(int)c; //显式转换
使用上面的显示转换不能用在bool和string类型上
4. C#程序使用类型声明(type declaration)创建新类型。类型声明指定新类型的名称和成员。在C#类型分类中,有五类用户可定义的:类(class)、结构类型(struct)、接口类型(interface)、枚举类型(enum)、委托类型(delegate)。
1)类类型定义了一个包含数据成员(字段)和函数成员(方法、属性等)的数据结构。类类型支持单一继承和多态,这些是派生类可用来扩展和专用化基类的机制。
C#关键字lock就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类 2)结构类型和类类型相似,表示一个带有数据成员和函数成员的结构。但是,结构是一种值类型,并且不需要堆分配。结构类型不支持用户指定的继承,并且所有结构类型都隐式地从类型object继承。
3)接口类型定义了一个协定,作为一个公共函数成员的命名集。实现某个接口的类或结构必须提供该接口的函数成员的实现。一个接口可以从多个基接口继承,而一个类或结构可以实现多个接口。
4)委托类型表示对具有特定参数列表和返回类型的方法的引用。类似在C语言中的函数指针,不同的是委托是面向对象的,并且是类型安全的。
5、引用类型的值都被当作“对象”来处理,这是因为这些值可以简单的被视为是属于object类型。值类型的值则通过执行装箱(boxing)和拆箱(unboxing)操作亦按对象处理。 int i=100;
oblect ob=i; //boxing
int j=(int) //unboxing
注意优先级
主要参看上面第四章流程控制。
1.6类和对象
类是最基础的C#类型。类为动态创建的类实例(instance)提供了定义,实例也成为对象(object).类的实例使用new运算符创建,该运算符为新的实例分配内存,调用构造函数初始化实例,并返回对该实例的引用。
在C#中,没有必要也不可能显示释放分配给对象的内存。
1.6.1 成员
包含各类专业文献、专业论文、幼儿教育、小学教育、应用写作文书、各类资格考试、中学教育、50C Sharp学习等内容。 
 经常见到的就是,参与 运算的两个操作数,一个是 int ,一个是 double,那么 int 会自动转换 成 double 类型 A+b*c+d-e/3 如果一个操作数为 double 型,则...  c sharp学习笔记_工学_高等教育_教育专区。c# 陈广老师视频 笔记 1、 读写文件 StreamReader、StreamWriter 2、 Var 变量通过这个关键字,无需指定类型 3、 ...  学习笔记Csharp_IT/计算机_专业资料。自己在阅读C#书籍时的心得体会反编译软件.Net Reflector 针对 C#编译出来的 exe 软件小巧,功能强大 如果需要开发商业程序,或对...  学习和应用Csharp中的语法和算法学习和应用Csharp中的语法和算法隐藏&& 1、颜色改变 、 Protected void timer1.Tick(object sender,EventArgs e) { Radom r=new...  一起来学用CSharp_c操作excel表_IT/计算机_专业资料。分享来自网络。。。 教你...表格EXCEL函数学习操作使... 330页 3下载券 财务软件Excel表格的353... 19页...  sharp 2页 10财富值 SHARP 20页 免费 sharp 17页 1财富值 c sharp 5页 1财富值 SHARP错误代码 4页 免费 C Sharp基础 28页 免费 C Sharp学习 12页 2财富...  CSharp模拟测试题与解答_理学_高等教育_教育专区。模拟测试题一、选择题(单选) 1. short 类型的变量在内存中占据的位数是 A. 8 2. B. 16 B 。 C. 32 ...  巢湖学院计算机系 2012 届毕业设计(论文) 网上教学系统 基于 ASP 和 C Sharp ...为了让人们的学习过程可以不受地域、时间限制使得教学资源能在 最大范围内实现...  《专科英语II》在线测试参考答案_英语考试_外语学习_教育专区。《专科英语 II》...A、sharp C、hard B、fast D、quick B、be appointed D、would appoint 剩余...C方法在模板中使用的一个问题,请高手指点,谢谢 - ThinkPHP框架
我在模板中用C方法调取百度统计代码,但模板去无法解析这是怎么回事应该怎么调用中呢,谢谢
我的调用方法是:{$setting.site_statice}
模板直接显示的是百度统计的代码,没有被解析
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

我要回帖

更多关于 skinsharp 的文章

 

随机推荐