BeginnerwithC#1

BeginnerwithC#1


作者: kamphkb  &;nbsp来自:网络


                * if you want to read the e edition, here is the link(http://msdn.microsoft.com/vstudio/nextgen/technology/clangref.doc).
 
  i translated it with my own opinion, add something and cut something to make it more easy to understand for beginner. if you have anything want me know, please try this(http://go3.163.com/"1landonsea/) or(kamphkb@yeah.net). thank you!
 
                                      1 绪论
  c# 是一种简练,时髦(?),面向对象(object oriented),类型可靠(type-safe)的
  编程语言。它(发音:c sharp)是从c/c  发展而来的(?俺觉得更象是java),和c/c 
  是一个语系。所以,很容易被c/c  的程序员接受。c#的目标是结合visual basic的高产和
  c  质朴的力量。
 
  c#将会是vs7的一分子。vs7还支持vb,vc和标记语言——vbscript和jscript。所有这些语言
  都会在next generation windows services (nwgs) platform 中得到支持(c#就需要一个
  nwgs sdk包,可以在m$的网站上下载)。有了这个东东(nwgs),c#就不需要自己的类库,
  而使用vc或vb这样一些成熟的库。c#也确实没有自己的类库。
  废话完了。
 
  1。1 一个老土的例子(就不能换换吗?)*/
  /* idontlikehelloworld.cs : such a out sample :( */
  1: using system;
  2: class idontlikehelloworld
  3: {
  4: static void main() {
  5: console.writeline("i dont like hello world");
  6: console.readline();
  7: }
  8: }
  /* 如果俺要出书的话,会考虑换个好点的例子。 ^&;^
 
  先说说怎样运行。首先,你需要windows2000!(是的,就是它,请各位不要随地丢果皮——
  整个香蕉丢给俺就可以了。)然后,需要nwgs sdk!(82.4mb,不算很大噢。嘿嘿,好在
  它没有自己的类库。)安装后,在你的程序所在的目录下键入:
 
  csc idontlikehelloworld.cs (加上一个回车键)
 
  是不是有点复古的味道?这个操作会在和你的*.cs相同目录下产生一个
  idontlikehelloworld.exe文件。双击它,距可以看见:
 
  i dont like hello world
 
  回车就可以结束它,非常简单。不过,也可以这样:把它存成后缀为.c的文件更好
  (即:idontlikehelloworld.c)。这样就可以用vc的ide进行打字,编辑。vc的
  txt editor是最棒的噢(又要vc,no!!!)。然后:
 
  csc idontlikehelloworld.c (加上一个回车键)
 
  最终效果是完全一样的。好,现在分析语法:(c#在语法上完全没有新意 :-| )
 
  1: using system;
 
  using 其实是c  的关键字,在c#中的含义也相仿(就是说俺还不敢100%肯定,抱歉)。using
  用在另一个关键字namespace之后。还是先看看namespace。
  语法(syntax):(from msdn)
 
  namespace [identifier] { namespace-body }
 
  俺的理解:
  identifier:在这里就是system(请记住:c#和c/c  一样,是区分大小写的!)。system
              必须在使用它的范围内是唯一的。即,不能够有第二个system,但可以有system。
              而“它的范围”,俺不想详细解说,只有在实践中才可能掌握。而且,初学者根本
              不必知道!俺也是近来才知道还有个namespace和using。 :)
 
  在{ namespace-body }中的是真正有用的东东,包括第五行的“console.writeline”的声明和
  定义(后面还会提到)。system是由nwgs定义的,咱们只需用(using)它即可。至于system在
  什么文件里定义,咱就不用管了!交给编译器(就是刚才那个“csc.exe”)去寻找。这就代替
  了c/c  中的“#include”,可以说是近了一步,避免大量烦人的细节。如果你没学过c/c  ,
  就不用理会。namespace 在后面还会谈到。
 
  2: class idontlikehelloworld
 
  class:是c语系中另一个关键字“类”。表示一系列的特性(官方说法:属性)和行为方法,有
  了它你的程序就可以“另类”,创造与别不同的有你特色的东东噢!在这里,俺就定义了
  “idontlikehelloworld”。注意:这也是c#强制的,对于每一个可执行的程序都必须有。你想干
  的事就可以记录在紧跟着你定义的class后面的一对花括号。注意:“{”和“}”一一对应的,
  “(”和“)”同样。
 
  4: static void main() {
 
  main()是本例子第一个动作(行为方法),干的第一件事。它是属于俺定义的idontlikehelloworld
  类的方法。并且是c#强制的,是程序的真正开始!在紧跟在它后面的“{}”中的语句顺序,就是程序
  的运行顺序!本例中只有一行(第六行干嘛用?你可以去掉再编译一次看看),输出一句话。
 
  5: console.writeline("i dont like hello world");
 
  非常奇怪,console(再次提醒:注意大小写)不是俺定义的,从何而来?它其实是属于system
  namespace 的一个class。writeline()是console类中的一个方法,用来显示一句话(字符串)。
  这里只是用了这个方法的1/18!并且是最简单之一!其他的有机会再说。你也可以用
  “console.writeline”在“ngws sdk documentaion”中搜索“console.writeline”,记住复选
  “仅搜索标题”,它会列出19项。好啦,完了!其实,还有“.”没说呢!呵呵...lei si la!!!!
  (续前)
  “.”被称为分隔符(separator),用来连接名字,如上面的“console.writeline”,就把类和它的
  方法连接。通过这种方式,咱们就可以使用现成方法集合。这里再回顾一下俺的例子,看看namespace和
  “.”是如何连用的,还有为什么要使用namespace这个关键字。把例子稍微改一下:*/
  /* idontlikehelloworld.cs */
  1: //using system;
  2: class idontlikehelloworld
  3: {
  4: static void main() {
  5: system.console.writeline("i dont like hello world");
  6: system.console.readline();
  7: }
  8: }
 
  /* 看见了,当俺注销掉“using system;”后,在第五行和第六行加了“system”。程序的结果不会改
  变。但是,很明显的这样比较罗嗦,所以引入了“namespace”。其实,class应该可以完成同样的功能。
  不过,设计者可能不想让一个关键字涵盖太多的功能。记得在c向c  发展的时候,引入了“class”,而
  不是扩展“struct”关键字的功能;又比如“=”只用于赋值,“==”只用于判断相等。这是c/c  和c#
  在语法上其中一个重要的特点。这样设计的好处很多。有机会再聊噢。
  如果你没学过c/c  ,以下的内容可以跳过。c#与c/c  在语法上还是有区别的,比如:
  1。c#根本没有“::”;“->”只在程序中很小的片断中。在c#中应采用“.”。
  2。c#无须先声明定义,再使用。与java相同。
  3。c#取消了用“#include”导入其他的程序文本文件,而采用象征性的句柄引入他人的代码。这样一来,
    就排除了编程语言间的障碍,方便地使用其它语言编写的库。如“console”类可以是c#或者是其他任一种语言编写的。
    (2005-10-31:02:52)

友情提示:此文并不表示本站肯定持有相同观点,转载请注明出处。
 您可能对 [C#] 的这些文章也感兴趣:

使用C#轻松编写.Net组件(2)  用C#Builder编写屏幕保护程序
C#精髓集合(1)  C#中取拼音码
个性化的分页实例  Master Pages: Tips, Tricks, and Traps
Microsoft .NET 框架资源基础  C#精髓集合(2)
如何使用VisualC#.NET检查Windows版本  C# 3.0 之新特性总结
.NET编译技术内幕  c#中对文件的操作小结
C#进阶(十一)  Net是未来的趋势,为什么?
C#也能动态生成Word文档并填充数据  用C#实现文件下载器(1)
C#锐利体验(6.1)  Windows窗体控件开发示例:扩展TreeView
BeginnerwithC#6  Microsoft.NET完全介绍(中)