01 C#内部类

C#有内部类的概念,以前遇到的主要是一个类内部又定义了一个类这种用法,自己却基本不用这种方式,现在学习一下。比如:

Unity与C#学习记录 - 06

这几行代码就最简单的内部类的例子,对于外部是private类型的变量,内部类是无法直接使用的,也就是内部类无法访问外部类的示例变量,所以在int前简单加上static,则内部类就能访问外部类的变量了。这里以变量举例,实际上对于方法也是,内部类无法访问外部类的实例方法。

接着:

public class OuterClass
{
    public void OuterClassMethod()
    {
        k = 0;
    }

    public class InnerClass
    {
        public int k;
    }
}

这里外部类有个方法,试图访问内部类的一个公共变量,则会提示k不存在,也就是外部类无法访问内部类的实例变量,这里和前面类似,静态的可以访问。

内部类实际上还是另外的类了,所以必须用类的实例来访问别人的非静态成员,因为静态成员是类本身的,能访问类,就能访问类的静态成员。

另外,外部类所有访问级别的静态成员对内部类始终可见,如外部类的一个private static void方法,内部类是可以调用的。而内部类则和普通类一样,如一个private static int参数,外部类是访问不到的。

这些介绍只是使用上的知识点,那么C#内部类主要好处是什么,为什么用内部类?根据网上找的,其作用主要是能更好封装,把内部类作为外部类的一个扩展,外部类则类似于内部类的一个命名空间。

02 C# params关键字

学习下params关键字 ,其主要作用是定义方法参数,参数数目是可变的。参数数组长度是可变的,但是必须是一维的,使用如下:

void Start ()
{
    Test(1, 2, 3);
    int[] paramsArray = new int[3] { 4, 5, 6 };
    Test(paramsArray);
}

void Test(params int[] list)
{
    for(int i = 0; i < list.Length; i++)
    {
        Debug.Log(list[i]);
    }
}

params关键字后跟着是参数类型,如这里是int数组,传参的时候可以直接用逗号隔开参数,或者新生成一个参数数组。

03 C#委托和事件等再探

重新学习下C#的委托和事件等知识点,争取写一些例子深入学习。

 

 

相关文章:

  • 2022-01-08
  • 2021-08-29
  • 2021-11-08
  • 2021-07-02
  • 2021-04-22
  • 2021-06-20
  • 2021-06-03
猜你喜欢
  • 2021-05-16
  • 2021-04-01
  • 2021-09-19
  • 2021-12-21
  • 2021-05-17
  • 2021-07-02
  • 2021-11-30
相关资源
相似解决方案