C# summary

the diff between var and dynamic

  1. var表示“变量的类型是在编译时决定的”, var让你在初始化变量时少输入一些字,编译器会根据右值来推断出变量的类型, var只能用于局部变量的定义,你不能把类的属性定义成 var,也不能把方法的返回值类型或者是参数类型定义成var

  2. dynamic表示“变量的类型是在运行时决定的”,动态语言运行时(dynamic language runtime DLR)是.NET Framework 4 Beta 1中的一组新的API,它提供了对c#中dynamic类型的支持, dynamic告诉编译器,根本就别理究竟是啥类型,运行时再推断不迟,dynamic类型并没有跳过类型校验,只是延迟到了运行时。如果在运行时,检测到类型不兼容,照样会抛出异常。变量,属性,方法返回值类型及参数类型都可定义为dynamic。

common skeleton

using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface 
    {
    }

    delegate int YourDelegate();

    enum YourEnum 
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct 
        {
        }
    }

    class YourMainClass
    {
        static void Main(string[] args) 
        {
            //Your program starts here...
        }
    }
}

Array

数组类型是从抽象基类Array派生的引用类型。由于此类型实现了IEnumerable和IEnumerable,因此可以对C#中的所有数组使用foreach迭代。


new 运算符用于创建数组并且将数组元素初始化为它们的默认值。

int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 };   // OK
//array3 = {1, 3, 5, 7, 9};   // Error

与所有out参数一样,在使用数组类型的out参数前必须先为其赋值,即必须要由被调用方为其赋值。
与所有ref参数一样,数组类型的ref参数必须由调用方明确赋值,因此,不需要由被调用方明确赋值。

class and structure

posted @ 2015-12-10 22:05  sam_rui  阅读(1735)  评论(0编辑  收藏  举报