码迷,mamicode.com
首页 > Windows程序 > 详细

c#面向对象5

时间:2018-01-22 00:07:27      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:default   bug   string   print   限制   默认值   方法   出现   允许   

1.泛型范围更宅,更好。

2.readonly是只读的意思,表示不能进行写操作.

3.return Default(T)default(T) 在泛型编成中如果不限制T类型参数是值类型或引用类型的话 你程序内部可能会出现错误,
因为值类型不允许NULL.所以default用来获取一个类型的默认值,对于值类型得到new T() 基本得到的都是0;
对于引用类型会得到Null
或者你不使用Default关键词,自己通过反射得到T是指类型还是引用类型 然后设置默认值.

4. public class Cage <T>{
    T[] array;
    readonly int Size;
    int num;//已经几只了
    public Cage(int n){
        Size = n;
        num = 0;
        array = new T[Size];
    }
    public void Putin(T pet){
        if(num <Size){
            array [num++] = pet;
        }else{
            Debug.Log("cage is full");
        }
    }

    public T TakeOut(){
        if(num>0){
            return array [--num];
        }else {
            Debug.Log("cage is empty");
            return default(T);
        }
    }
}

var dogCage = new Cage<Dog> (1);
dogCage.Putin (new Dog ("A"));
dogCage.Putin (new Dog ("B"));
var dog = dogCage.TakeOut ();
dog.PrintName ();

 

5.泛型方法

void DogIsHappy<T>(T target){

}

 

    public void IsHappy<T>(T target){
        Debug.Log ("happY:" + target.ToString ());
    }
    var dog = new Dog ("a");
    dog.IsHappy<int> (3);

c#面向对象5

标签:default   bug   string   print   限制   默认值   方法   出现   允许   

原文地址:https://www.cnblogs.com/xiaomao21/p/8325747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!