public class Queue
{
System.Collections.Queue q = null;
public Queue()
{
q = new System.Collections.Queue(Convert.ToInt32(ConfigurationManager.AppSettings["QueueCount"]));
}
///<summary>
///入队
///</summary>
public void EnQueue(object DataValue)
{
q.Enqueue(DataValue);
}
///<summary>
///出队
///</summary>
public object DeQueue()
{
return q.Dequeue();
}
///<summary>
///判断队列是否为空
///</summary>
public bool IsNull()
{
功能:判断是否为空的队列
int key = 0;
object[] list = q.ToArray();
if (list.Length <= Helpers.SystemConst.INDEXZERO)
{
return true;
}
for (int i = 0; i < list.Length; i++)
{
if (list[i] == null)
{
key++;
}
}
if (key == Convert.ToInt32(ConfigurationManager.AppSettings["QueueCount"]))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 判断队列是否是满
/// </summary>
/// <returns></returns>
public bool IsFull()
{
//功能:判断是否为空的队列
int key = 0;
object[] list = q.ToArray();
foreach (object item in list)
{
if (item != null)
{
key++;
}
}
string a = ConfigurationManager.AppSettings["QueueCount"];
if (key == Convert.ToInt32(ConfigurationManager.AppSettings["QueueCount"]))
{
return true;
}
else
{
return false;
}
}
///<summary>
///清空队列
///</summary>
public void Clear()
{
//清空链表
q.Clear();
}
///<summary>
///取得队列的数据个数
///</summary>
public int QueueCount
{
get
{
int key = 0;
object[] list = q.ToArray();
foreach (object item in list)
{
if (item != null)
{
key++;
}
}
//取得队列的个数
return key;
}
}
}
2; <add key="QueueCount" value="5" />