走进C# (我的C#学习之旅)之三

2016-01-29 12:33 9 1 收藏

走进C# (我的C#学习之旅)之三,走进C# (我的C#学习之旅)之三

【 tulaoshi.com - ASP.NET 】


终于来到第二章了,真是不容易(呵呵,大家少安毋躁)。
这章总的来说就是对C#的一个总体的概述。首先通过对以往的编程语言(汇编,C/C++,java,vb)的回顾,强调这些语言与C#的联系及C#对这些语言优秀特性的继承,试图在其中打到C#的影子。然后对现在市面上流行的编程语言与C#进行比较,从而突出C#做为新一代的编程语言的重要性及优越性。之后再次简述了C#的新特性(感觉作者的废话太多了)。最后简述了C#在各种程序开发中的应用及C#的编译器的使用。
这章的大致内容就是这些,下面依照各分节的顺序来看一看各节的主要内容。
语言发展史部分

汇编语言的出现 .NET程序并不包含机器指令,而包含一组必须用运行时程序解释的中间语言指令。中间语言指令比汇编语言指令更抽象。中间语言看起来像是一个带有处理对象的外部命令的汇编语言程序。
C语言部分这部分主要说明了C#与C的一脉相承。强调了C#在继承了C的强大功能的同时又鄙弃了其使用的困难性。

VB部分指出VB在OOP的先天不足,而要强调的是C#功能的完美而且与VB一样简单容易上手。
JAVA部分在这一节,首先指出了JAVA的优势,然后当然是对JAVA的海扁了。不过其中还是有一些可看之处。

在语法上,JAVA非常类似于C++,但有一些区别
(1)JAVA不支持指针,因为指针是C++程序中许多很难处理的错误源。在JAVA中,对象总是通过引用来处理。
(2)JAVA不支持运算符重载,因为不正确的运算符重载常常会导致大量的混乱,特别是多个开发人员参与的大型程序。
(3)JAVA完全是面向对象的,即所有的函数都必须在类的范围内定义。因为C++支持全局函数,所以C++允许程序员返回它们的过程根。
(4)JAVA带有类的扩展分层结构,可以进行窗口、网络和其他问题域的处理。
(5)JAVA建议把类的声明和执行放在同一文件中。
(6)JAVA运行时提供了一种防止内存遗漏的无用存储单元收集机制。
与其它语言的比较这部分写的太恶心了,说的基本都是C#的好其它语言的坏。


主要的观点如下:
在与VB的比较中说明C#的面对对象比VB高,在语法上比VB更简洁。
在与VB.NET的比较中,说明C#是.NET的首选语言。
与VC++比较中说明,C#比C++的效率更高,更容易。
在与C++Builder及Delphi比较中说明C#的平台独立性。

下面来看看与JAVA的比较
(1)C#的语法要比JAVA强大,因为C#支持运算符重载和类型安全的枚举,另外,还可以在C#程序中选择嵌入式指针和其他不合法的语法。
(2)C#可以与以其他.NET语言编写的代码进行无缝交互操作
(3)C#可以看作是一个比较便宜、不太完整的JAVA替代品
(4).NET基类为C#提供了一个统一的、标准化的源,以满足常用功能的需要。

后面提到的与Javascript及vbscript的比较就不想再多说了,因为实在太牵强。C#的应用

(1)ASP.NET应用程序
(2)WEB窗体
(3)WEB控件
(4)WEB服务
(5)类库
(6)WINDOWS应用程序
(7)WINDOWS控件(不必注册.NET组件,只需把组件的一个副本放在客户应用程序的目录下,客户机就可以访问它。)
(8)控件台应用程序
C#的特性概览

(1)基于.NET基类
(2)流控制语句(支持for each结构以及A?B:C)
(3)面向对象的功能
(4)反射和属性(这块说的很含糊,不是很明白)
(5)可以处理不安全的代码
C#编译器(1)C#程序编译的两种方式,命令行方式和集成的IDE方式。
(2)输入输出文件:csc SourceFile.cs /out:TargetFile.exe(大家应该都能看明白)
(3)编译不同的工程类型(其实关键就是参数的不同)
/t:exe 建立控制台应用程序。
/t:winexe 建立WINDOWS FORM应用程序。
/t:library 建立一个包含清单的独立装配件。
/t:module 建立一个装配件文件,但没有清单。
这章的内容很多,感觉上也很笼统。不过我想对于我们初学者来说掌握这些也应该足够了。由于这只是个铺垫,后面还有更多的介绍,所以不想再深究下去了。带着疑问看下去,不是更好。让我们期待下一章吧。

来源:http://www.tulaoshi.com/n/20160129/1486584.html

延伸阅读
应该说,从 C/C++ 发展到 C#,进而到 Microsoft .NET Framework,对于习惯使用 C/C++ 的程序员来说是一次小小的打击。换句话说,C# 编程将带来翻天覆地的变化,不仅要完成范例转换,还要完成程序模型的重建以及其他各种令人难以捉摸的词组转变。但是,随着新一年的到来,不正是学习新编程语言的好时机吗? 我现在实在是抽不出时间教您如何使...
在过去的二十年里,C和C++已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。与诸如Microsoft? Visual Basic? 等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更...
   1 绪论 c# 是一种简练,时髦(?),面向对象(object oriented),类型可靠(type-safe)的 编程语言。它(发音:C sharp)是从c/c++发展而来的(?俺觉得更象是java),和c/c++ 是一个语系。所以,很容易被c/c++的程序员接受。c#的目标是结合Visual Basic的高产和 C++质朴的力量。 c#将会是vs7的一分子。vs7还支持vb,vc和...
About program language such as C++, C#, Java and Delphi, how to choose a good one for a freshman ? This view has pointed by many people here and different person have different ideas. In my opnion, , C# is the first choose for anyone. Why? Because it's different from any other language. C# comes from C++ and Java i...
Common.cs: 代码如下: using System; using System.Collections.Generic; using System.Text; namespace DelegateAndEvent.App_Code { public class Common { //定义全局变量. public static string txt = ""; #region 定义方法 public string HelloCSharp(string name) { txt += "hello " + name;//这样做是为了看到委托可以执...

经验教程

143

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部