zoukankan      html  css  js  c++  java
  • Unity3D学习笔记(五) C#基础学习

    (2012-07-09 15:55:34)

    1.C#新建无名类是用:new 类名(参数);而javascript是用:类名(参数);


    2.可以使用#region和#endregion进行区域注释。


    3.使用C#的enum类型定义变量和使用Enum类不同,后者需要using System;
      enum常为public enum Day{M,T,W}。也就是说当成一个结构体一样去使用。枚举结构内部有编号,默认从0开始,即M=0,T=1,W=2。枚举变量只能取定义时指定的变量名或变量名代表的数值。
     
    4.C#常用:①private int testData;   ②public int TestDate{   get{含有return的函数段}  set{含有value的函数段}  }
    与函数相比,TestDate呈现两面性,①B=TestDate;使用了get{}的返回值②TestDate=B;使value为B传入set{}。
    注意TestDate不一定就是testDate,也可以是判断语句后经过某种运算产生的testDate。
    在封装并操纵单个数据的属性上set与get比函数更有优势。
     
    5.C#对资源自动回收,不用对new出的东西delete掉。如果确实需要强行让某个东西提前释放,可以将对象设置为null,此时资源即可被回收。(貌似有时也可以用.dispose)
     
    6.C#的资源在没有被引用时会被释放,因此将A类对象B去new出资源后,传入某个函数test(A C)时,令C=null不能释放B申请的资源,因为B还保存引用
     
    7.C#在A类中调用B类的函数,并且A类传递了C类的对象作为实参。此时注意,这种传递是引用传递,不是C++的拷贝传递,因此B类函数内C类对象即是A类传递的那个对象,在函数内修改C类对象,最后返回A类后,C类对象已经改变。
       由于不是C++的拷贝传递,因此不用考虑在C类中增加一个类似拷贝函数那样形参是C类对象的函数进行处理。
       不过值得注意的是如果是int类型变量,那样的传递是拷贝传递,不是引用传递。形参和实参仅仅是初始相等,不互相影响。因此对C类对象内部int变量进行处理,此时最好去传递整个C类对象。

  • 相关阅读:
    打印出从1到最大的n位十进制数
    排序算法--(二)
    排序算法 (-)
    两个栈实现一个队列
    C++ 模板类解析
    根据先序遍历中序遍历重建二叉树
    格式化时间
    用js实现冒泡排序
    接口和抽象类的区别
    解析json
  • 原文地址:https://www.cnblogs.com/mzdbskipop/p/3137680.html
Copyright © 2011-2022 走看看