Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 17820|Resposta: 0

[Fonte] O tipo de interface ou método que pode ser percorrido para cada um precisa ser implementado.

[Copiar link]
Publicado em 26/09/2015 10:37:46 | | |
Resposta: Objetos que podem ser percorridos por foreach devem ser objetos collection ou array, que são do tipo que implementa o IEnumerator superinterface ou o método declarado GetEnumerator
Q:
Mas quando normalmente uso foreach in, uso diretamente, e não há problema. Posso perguntar, por que isso acontece? Se você quiser implementar o tipo de super interface IEnumerator ou o método declarado GetEnumerator como perguntado, o que deve fazer? Obrigado
Resposta: Ao usar foreach in, geralmente usamos uma classe de coleção definida pelo sistema (implementando a interface ICollection). Por exemplo, arrayList, stringDictionary, array, etc. Esses são empacotados pela plataforma e estão próximos de implementar a interface IEnumerator. Para que a classe que você escreve possa ser aplicada ao mesmo tempo, você deve implementar a interface ao escrever a classe. Isso permite a travessia de cada um depois. Por exemplo, defina uma classe de pessoas e implemente a interface do IEnumerator. Se houver um array People[] tempPeople, então você pode usar: foreach( p in tempPeople){ console.writeline(p.name); Isso elimina o problema de usar loops for. Quanto a como implementar a interface do Iemumerator. É só verificar o MSDN. Você também pode procurar um livro mais grosso.





Anterior:Perguntas do algoritmo de entrevista 1, 1, 2, 3, 5, 8, 13, 21, 34...... descubra qual é o 30º dígito e use um algoritmo recursivo para descobrir
Próximo:Qual é a origem das nuvens escuras que surgiram do Ctrip e de outros vazamentos?
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com