C#基础学习需要注意的几个知识点

在学习Unity之前,相信我们都要经历C#编程语言的学习,大家都知道在C#是一门面向对象的编程语言,具有封装继承多态的一些特点,这些知识点浅学并不难,但是当我们在Unity的道路上越走越远的时候,我们需要去看很多的插件源代码,看懂并且能学会去做一些简单的修改,这时,我们会发现,在这些插件的源码中有大量的委托,继承,多态,重载等,若我们的C#学的并不是非常精通,将会给我们带来很大的难题。所以,我们可能在刚接触Unity时用MonoBehavior类中封装的方法可以完成很多的功能,但是之后在深入的学习中比较乏力,然后C#的重要性将慢慢的体现出来。这里我将对一些C#基础中容易遗忘或者比较细的地方记录一下,防止以后的自己会忘记,并希望同时可以为初学Unity的人带来一些帮助。

由简入深

1.char两个字节,不同于其他语言的原因:

因为,在C#中char类型存的是unicode码,可以表示的字符比C语言等语言都多,一个字节不能全部存入,所以就多了一个字节


2.switch后面括号中只能是整形表达式么?

不,字符串、枚举等也可以


3.循环,三种循环可以相互转换,本质相同,用哪个视情况而定


4.随机值,arc4random() % (max - min + 1) + min


5.foreach中的迭代变量不能写,只能读


6.结构体与类的区别

结构体是值类型,而类是引用类型,当我们需要大量的实例化对象时,用结构体更高效,比如Unity中的Vector3


7.属性中的get与set至少有一个为public的,否则会报错


8.当存在继承时,实例化子类对象,会先调用父类构造方法,然后调用子类的构造方法


9.子类不继承父类的构造方法,但是由于实例化子类对象时会调用父类的构造方法,所以,当父类不存在无参构造方法时,需要,在子类的构造方法后面用":Base()"调用一下父类的构造方法

10.重写(override)与替换(new)的区别

重写是多态的体现,而替换不是,重写可以让父类对象调用子类方法(实例化时,父类对象 = new 子类构造),而重写,只能各调各的。

11.stringBuilder的实际作用比string大


12.单例是个很好的模式,用lock可以进行双重锁定,之后会测试及详细说明,在Unity中的使用也会说明


13.委托与事件在unity中常用于写监听事件,最常见的,就是Unity中的Button与AddListener等操作

这次就先简单写这么多,没有很深入的去写,只是写完可以对自己进行提醒注意,大家有好的建议,可以一起交流大笑


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yishiwushuang/article/details/46823211
文章标签: Unity基础之C#基础
个人分类: C#基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭