1. Hello world的C#版本
直接在VS2008里创建一个C#工程,叫MyFirstCSharpProject。VS会自动的创建一个Program.cs,并已经写入了很多代码,包括一个Main()方法。
namespace MyFirstCSharpProject
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world from C#");
}
}
}
也可以看看Java版本的Hello world,来对比一些细节。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world from Java");
}
}
首先,C#使用的是命名空间(namespace)的概念来防止命名冲突和对类进行归类,而Java用的是包(package)。另外,导入类的时候C#和Java分别用的是"using"和"import"关键字。
其次,是命名规约,C#对于类名和成员名都推荐使用Pascal大小写,本地变量推荐的是Camel大小写,而Java推荐的都是Camel大小写。
最后是经典的控制台输出,Java用的的System.out.println(),C#是Console.WriteLine(),Console类多了个格式化输出功能,其实也差不多,就不细说了。
2. 文档注释
C#使用"///"来代表文档注释,就是类似Java的JavaDoc,只不过Java用的是"/**"来开头。
/// A simple Test
/// </summary>
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world from C#");
}
}
这个的细节以后再来看,现在我也没有学到,
3. 类型声明
C#的类型声明不需要Java那么严格的条件,比如一个文件只能声明一个类(内部类除外),文件名要和类名相同等等,C#的类名和文件名不需要有什么联系,另外同一个文件中可以放入多个类的声明。
在可以声明的类型上,Java只有类(Class),接口(Interface),枚举(Enum)。而C#在Java的基础上还可以声明结构(Struct),委托(Delegate)类型。
4. 预定义类型
(1) 简单类型
与Java不同,C#的简单类型更多,一般都有无符号和有符号两种版本,包括sbyte、byte、short、ushort、int、uint、long、ulong、float、double、bool、char、decimal,一共13种。而Java都只是提供了有符号的版本。
(2) string和object
C#的string和Java的String类似,都用于存储一个字符串。而object和Java的Object一样,是所有类的基类。不过C#有一点与Java不同,前面提到的简单类型也是object的子类,而Java的简单类型则不是,甚至都不是类,他们的包装类(如Integer,Long等)才是Object的子类。
5. 变量声明
变量声明上C#和Java相差无几,除了C#中的"var"关键字。这是一种语法上的速记,并不是像JavaScript上的"var"关键字,C#还是一种强类型的语言的。
var aDate = new DateTime();