zoukankan      html  css  js  c++  java
  • Java程序员的C#学习笔记(2) C#语言预览

    1. Hello world的C#版本

    直接在VS2008里创建一个C#工程,叫MyFirstCSharpProject。VS会自动的创建一个Program.cs,并已经写入了很多代码,包括一个Main()方法。

    using System;

    namespace MyFirstCSharpProject
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                Console.WriteLine(
    "hello world from C#");
            }
        }
    }

    也可以看看Java版本的Hello world,来对比一些细节。

    package test;

    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用的是"/**"来开头。

        /// <summary>
        
    /// 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 aInt = 15;
    var aDate 
    = new DateTime();
  • 相关阅读:
    Markdown学习
    二叉树的最近公共祖先
    javaCompiler简析
    自定义类加载器
    聚合和组合的区别
    拓扑排序
    C++ map和unordered_map
    静态文件加载路径
    文件上传
    jackson
  • 原文地址:https://www.cnblogs.com/archer/p/1409961.html
Copyright © 2011-2022 走看看