No Unity, temos algumas coisas especiais para corotinas adicionais ao C # normal.
por exemplo, podemos usar
yield return WaitForSeconds(5.f);
para que uma corotina aguarde 5 segundos antes de continuar.
O que fazer yield return false;e yield return true;fazer?
if (0)ou if (null), ao contrário de C e C ++.
yield return 0funciona; aparentemente por causa da razão MLM explicou
yieldpalavra - chave existe desde pelo menos C # 2.0. Tudo o que o Unity faz é chamá-lo de rotina e manipula o iterador gerado e os valores retornados a partir de uma maneira que você pode causar atrasos sem bloqueio na execução do seu código.
WaitForSecondsnão é declarado. Assim que você declarar um método chamado WaitForSecondsque recebe um argumento de flutuação e retorna o tipo de elemento da enumeração que está implementando, ele será compilado novamente. Portanto, yieldnão é especial para a Unidade. De qualquer forma, o WaitForSecondsmétodo é especial para o Unity, mas, mesmo assim, não estende a linguagem C #, mas é simplesmente um método extra que foi escrito usando o C # padrão.
yield return truefaz algo especial. Masyield return nullsimplesmente faz uma pausa para um quadro, então eu suspeito queyield return falsetem exatamente o mesmo efeito (tambémyield return 0desde 0 false nulo são todos iguais sob o capô)