内容会持续更新,有错误的地方欢迎指正,谢谢!
本文是博主在用Unity开发游戏时的小技巧总结,以防忘记。
1.C#属性的作用:其实,和public差不多,但是,如果需要对某个private字段(比如:age)有什么限制啥的,就很有用了:在set中,先判断age是否符合要求,符合要求再赋值。如果开发到后面,需要你去修改age的可取值的范围,这时,你外部用到这个age的地方都不需要改动,只需要修改这个属性操作即可。在绝大多数情况下,还是使用属性好,即使仅仅是一个简单的值,说不定哪天就需要你或别人去维护了!如此看来,属性主要就是用于封装,以便于今后的扩展,多用属性!
那么字段和属性有啥关系?
字段:字段是类内部用的,private类型的变量。一般的字段都是设为私有的,字段的访问便是由属性来实现。
属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。在两个块中都可以做一些其他操作,如在set中验证赋的值是否符合要求并决定是否进行赋值。
所以,属性的作用:
- 能满足字段只能读或只能写或读写都行;
- 需要限定字段的取值范围;
- 在改变一个字段的值时,希望改变对象的其它一些状态。
//私有字段和属性的例子:
pulic class User
{
private string _name;//_name为字段
public string Name //Name为属性,它含有代码块
{
get
{
return _name;//读取(返回_name值)
}
set
{
_name = value;//为_name赋值
}
}
所以,属性和字段算是C#中的基础知识,掌握好基础知识,建造的高楼大厦才更好的扎实稳固。
2.索引器的作用:格式:类或结构体的对象名[ ]。可以像访问数组一样,去访问类或结构体里面的数组或集合。经常结合泛型集合List和foreach一起使用,可以实现:输入 按钮类型,返回按钮的预制体 等类似的功能,多用索引器!例子如下:
[System.Serializable]
public class PrefabsOfColor
{