zoukankan      html  css  js  c++  java
  • 泛型进队判定代码代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace KongzhiTai
    {
    class Program
    {
    static void Main(string[] args)
    {
    //string str = "xiaobing";
    //QueueenterFunction<string> queuenumber = new QueueenterFunction<string>();
    //Console.WriteLine(queuenumber.EnterQueueAndReturn(str));
    //Console.WriteLine(queuenumber.ToutQueue());
    //Console.ReadKey();
    QueueenterFunction<Document> queueObject = new QueueenterFunction<Document>();
    bool a= queueObject.EnterQueueAndReturn(new Document("三国演义",20));
    bool b= queueObject.EnterQueueAndReturn(new Document("水浒传", 30));
    queueObject.DisplayAllDocumetn();
    if (a&b)
    {
    Document d = queueObject.ToutQueue();
    Console.WriteLine(d.Price);
    }
    Console.ReadKey();
    }
    }
    public class QueueenterFunction<T> where T:IDocument
    {
    //创建一个队列
    public readonly Queue<T> creatqueue = new Queue<T>();
    //进队的方法
    public bool EnterQueueAndReturn(T wantenterqueur)
    {
    creatqueue.Enqueue(wantenterqueur);
    return IsEnterQueue(creatqueue);

    }
    //判断是否为空
    public bool IsEnterQueue(Queue<T> isqueueempty)
    {
    return isqueueempty.Count > 0;

    }
    public T ToutQueue()
    {
    //null只能为引用类型
    T doc=default(T);
    lock (this)
    {
    doc = creatqueue.Dequeue();
    }
    return doc;

    }
    public void DisplayAllDocumetn()
    {
    foreach (T item in creatqueue)
    {
    Console.WriteLine(item.Title);
    }

    }
    }
    //接口
    public interface IDocument
    {
    string Title { get; set; }
    int Price { get; set; }
    }
    //实现接口的类
    public class Document:IDocument
    {
    public Document(){}
    public Document(string title,int price)
    {
    this.Title = title;
    this.Price = price;

    }
    public string Title
    {
    get;
    set;
    }
    public int Price
    {
    get;
    set;
    }
    }

    }

  • 相关阅读:
    IDE-常用插件
    Go-竞态条件-锁
    Go-发送邮件
    复刻网络Yum源配置为本地Yum源使用
    测试
    九.查找算法
    九.多线程-PDF笔记
    八.设计模式
    八.排序算法:复杂度
    七.注解
  • 原文地址:https://www.cnblogs.com/xiaobing1/p/9866557.html
Copyright © 2011-2022 走看看