• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

saunde

foreach

6 mensagens neste tópico

Uma dúvida que é capaz de ser um pouco estúpida... mas está-me a fazer confusão....

Porque é que o foreach não funciona neste caso :

	private readonly LinkedList<Request> queue;

	public Matcher()
	{
		queue = new LinkedList<Request>();
	}


        	[MethodImpl(MethodImplOptions.Synchronized)]
	private LinkedListNode<Request> GetRequestByKey(int key)
	{
		if (queue.Count == 0) return null;

                    foreach (LinkedListNode<Request> Node in queue) {
                             if (Node.Value.Key == key) return Node;
                  }	 
                return null;
        }

LinkedList<T>  implementa IEnumerable e tudo.... devia dar para o foreach, ou estou errado ?

LinkedList is a general-purpose linked list. It supports enumerators and implements the ICollection interface, consistent with other collection classes in the .NET Framework.

LinkedList provides separate nodes of type LinkedListNode, so insertion and removal are O(1) operations.

Já agora fica aqui o erro também :

Error 1 Cannot convert type 'alinea_2.Matcher.Request' to 'System.Collections.Generic.LinkedListNode<alinea_2.Matcher.Request>'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas o que eu estava a passar não era a LinkedList , era LinkedListNode, ou seja, um nó da LinkedList.

Mas já resolvi o problema.... foi só mudar a declaração e construção da Lista..

private readonly LinkedList<LinkedListNode<Request>> queue;

	public Matcher()
	{
		queue = new LinkedList<LinkedListNode<Request>>();
	}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a dar a volta ao assunto :)

Em vez de LinkedListNode<Request> tens que utilizar Request no foreach.

Do modo como resolveste tens uma LinkedList de LinkedListNode, e não uma LinkedList de Request.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fixe!  funciona :D

Eu pensava que não funcionava visto a class Request não implementar IEnumerable tás a perceber ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora