CLR via c# 学习笔记(一)

1.值类型:所有继承抽象类型System.ValueType的派生类如结构和枚举都是值类型,值类型是隐式密封的(sealed),不能继承。

   引用类型:在SDK文档中称为“类”的类型都是引用类型

2.ref与out:

   out不用初始化参数,而ref必须先初始化参数。

3.向方法传递可变数量的参数【比较有用】:

   缺点:使用可变数量的参数性能会有一定的损失,可使用不同数量参数的重载版本。

public static class Operator
    {
        public static int Add(params int[] values)
        {
            int sum = 0;
            if (values != null)
            {
                for (int i = 0; i < values.Length; i++)
                {
                    sum += values[i];
                }
            }
            return sum;
        }
    }

使用示例:

private void Form1_Load(object sender, EventArgs e)
{
   label1.Text = Operator.Add(1, 2, 3, 4, 5, 6, 7).ToString();
}

  

4.属性:分为无参属性(简称属性,即平时常用的属性)和有参属性(c#中称为索引器,vb.net中称为默认属性)。

           属性的根本意义是:允许用一个简化的语法来调用一个方法。(即方便调用的一个简单的方法)

原文地址:https://www.cnblogs.com/jasonoiu/p/CLR_via_learning_notes_1.html