एकता में, हमारे पास कोराउटीन के लिए कुछ विशेष चीजें हैं जो सामान्य सी # के लिए अतिरिक्त हैं।
उदाहरण के लिए, हम उपयोग कर सकते हैं
yield return WaitForSeconds(5.f);
जारी रखने से पहले 5 मिनट प्रतीक्षा करें।
क्या करें yield return false;और क्या न yield return true;करें?
if (0)या नहीं कर सकते if (null)।
yield return 0काम करता है; जाहिरा तौर पर एमएलएम ने समझाया कि कारण
yieldकीवर्ड कम से कम C # 2.0 के आसपास रहा है। सभी यूनिटी इसे कोरटाइन कहती है और जेनरेट किए गए इटरेटर को संभालती है और इसमें दिए गए मान इस तरह से दिए जाते हैं कि आप अपने कोड के निष्पादन में गैर-अवरोधक देरी पैदा कर सकते हैं।
WaitForSecondsघोषित नहीं किया जाता है। जैसे ही आप एक विधि घोषित करते हैं, जो WaitForSecondsएक फ्लोट तर्क लेती है और यह आपके द्वारा लागू किए जा रहे गणना के तत्व प्रकार को वापस करता है, यह फिर से संकलित होगा। इसलिए, yieldएकता के लिए विशेष नहीं है। यदि कुछ भी हो, तो WaitForSecondsविधि एकता के लिए विशेष है, लेकिन फिर भी, यह भाषा C # का विस्तार नहीं करता है , लेकिन बस एक अतिरिक्त विधि है जिसे मानक C # का उपयोग करके लिखा गया था।
yield return trueकुछ खास है। लेकिनyield return nullबस एक फ्रेम के लिए रुक जाता है, इसलिए मुझे संदेह है किyield return falseइसका सटीक प्रभाव समान है (yield return 0क्योंकि 0 झूठे अशक्त सब हुड के नीचे समान हैं)