Если вы хотите создать очередь полученных данных для каждого используемого порта, вам лучше всего иметь набор очередей с ключами.Эти очереди будут обозначены номером порта.Так что, возможно, используйте Dictionary<int, Queue<Data>>
.Затем, когда приходит запрос, вы можете проверить, есть ли у порта очередь;если так, добавьте к этой очереди;если нет, создайте очередь.то есть
private Dictionary<int, Queue<Data>> mPortQueues = new Dictionary<int, Queue<Data>>();
public void ReceiveData(int portNumber, Data data)
{
Queue<Data> queue;
// See if we have a queue
if (!mPortQueues.TryGetValue(portNumber, out queue))
{
// No queue for this port, so create and cache
queue = new Queue<Data>();
mPortQueues.Add(portNumber, queue);
}
// Queue the data
queue.Enqueue(data);
}