- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace 泛型
- {
- // 泛型特性:1默认值
- class 泛型的特性
- {
- public static void Main()
- {
- DocumentManager<string> manager = new DocumentManager<string>();
- manager.AddDocument( "aladdin");
- manager.AddDocument("zhao");
- manager.AddDocument("jacky");
- Console.WriteLine( manager.IsDocumentAvailable );
- //取从前面开始取队列中的值
- Console.WriteLine(manager.GetDocument());
- Console.WriteLine(manager.GetDocument());
- Console.WriteLine(manager.GetDocument());
- Console.ReadLine();
- }
- }
- class DocumentManager<T>
- {
- //表示对象先进先出的集合
- private readonly Queue<T> documentQueue = new Queue<T>() ;
- public void AddDocument(T doc)
- {
- lock (this)
- {
- documentQueue.Enqueue(doc);
- }
- }
- public bool IsDocumentAvailable
- {
- get { return documentQueue.Count > 0; }
- }
- public T GetDocument()
- {
- //1泛型的默认值特性
- //用default关键字,这样他既可处理null,也可以处理值类型的0为默认
- T doc = default(T) ;
- lock (this)
- {
- doc = documentQueue.Dequeue();
- }
- return doc;
- }
- }
- }
C#中泛型特性1-默认值
最新推荐文章于 2023-12-18 16:00:01 发布