手记

C#中栈,队列,字典,list表的实现

//这是list这种类型的集合。
/ List<dog> list = new List<dog>();//这是一个list的泛型结构,list里面装的是狗这种类型
list.Add(new dog("a"));
list.Add(new dog("b"));
list.Add(new dog("c"));//list有很多的方法,直接加数据,也可以移除某个位置上的数据,当然也可以按数组的形式访问每个对象。
list.RemoveAt(0);
for (int i = 0; i < list.Count();i++ )
{
Console.WriteLine(list[i].name);
}
/

        //这是对字典的一种演示。

/ Dictionary<string,dog> dic=new Dictionary<string ,dog>();
dic.Add("a", new dog("A"));
dic.Add("b", new dog("B"));
dic.Add("c", new dog("C"));
Console.WriteLine(dic["a"].name);
/

        //这是栈的实现

/ Stack<dog> zhan=new Stack<dog>();//stack就是栈这种结构
zhan.Push(new dog("a"));//入站
zhan.Push(new dog("b"));
zhan.Peek().printname();//获得栈顶元素
Console.WriteLine(zhan.Pop().name);//出栈
Console.WriteLine(zhan.Pop().name);
/
//这是关于队列的实现
/* Queue<dog> duilie = new Queue<dog>();//这里的写法都像是泛型的方法,
duilie.Enqueue(new dog("a"));//入队列,出队列,操作都是很简单的。
duilie.Enqueue(new dog("a"));
duilie.Enqueue(new dog("c"));
duilie.Dequeue().printname();
duilie.Dequeue().printname();
duilie.Dequeue().printname();
当然这个是之前建立了,cat类,和dog类的
class dog : pet
{
public dog(string name)//构造类函数的时候是不加void的。
{
this.name = name;
}
public sealed override void voice()
{
Console.WriteLine("wow");
}
public void printname()
{
Console.WriteLine(this.name);
}
public void Catchmice()//在猫这个类中实现了接口
{
Console.WriteLine("我要抓猫");
}
public void yao()
{
Console.WriteLine(this.name + "wang wang");
}
public string myage(int a)
{
return "我今年" + a + '岁';
}

}
class cat : pet 
{
    public cat(string name)
    {
        this.name = name;
    }
    public override void voice()
    {
        Console.WriteLine("miaomiao");
    }
    public void Catchmice()//在猫这个类中实现了接口
    {
        Console.WriteLine("我要抓老鼠");
    }
    public void hu()
    {
        Console.WriteLine(name + "miao miao");
    }

}
2人推荐
随时随地看视频
慕课网APP