ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

½éÉÜÒ»ÏÂIEnumerator ºÍ IEnumberator
2014-11-24 01:37:54 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:5560´Î
Tags£º½éÉÜ IEnumerator IEnumberator

IEnumerable Ö»ÊDZíÃ÷ij¸ö¶ÔÏóÄܹ»±»Ã¶¾Ù£¬ÕæÕýµÄ¹¤×÷ÊÇÓÉIEnumeratorµÄCurrent¡¢ MoveNext¡¢ResetÍê³ÉµÄ£¬ÎªÊ²Ã´ÒªÓÐ2¸ö²»Í¬µÄ½Ó¿ÚÀ´×÷ö¾ÙÄØ£¿Ö÷ÒªÊÇ¿¼Âǵ½±»Ã¶¾ÙµÄ¶ÔÏó»áÓжà¸ö¶ÀÁ¢µÄ¿Í»§¶Ëµ÷Óá£


ÔÚÏÖʵӦÓÃÖУ¬¶ÔÓÚ¼¯ºÏÒÔ¼°Ã¶¾ÙÕâЩ¼¯ºÏµÄÐèÇó·Ç³£Æձ飬 Òò´ËÔÚ.NETÖм¯ºÏËùÒÀÀµµÄ½Ó¿Ú±»Éè¼ÆΪ¹«¹²µÄ¡£ÏëҪʵÏÖ¶ÔÏóµÄö¾Ù¾Í±ØÐë¼Ì³ÐIEnumerable½Ó¿Ú¡£


public interface IEnumerable


{


public IEnumerator GetEnumerator();


}


ËüÖ»ÓÐÒ»¸ö³ÉÔ±£ºGetEnumerator·½·¨¡£¸Ã·½·¨·µ»ØÒ»¸öÊÀ¼ÍµÄö¾ÙÆ÷(enumerator)¶ÔÏó¡£


Òª¶¨ÒåÒ»¸öö¾ÙÆ÷¾ÍÒª±ØÐëʵÏÖIEnumrator½Ó¿Ú:


public interface IEnumerator


{


public Boolean MoveNext();


public Object Current { get; }


public void Reset();


}


Ò²¾ÍÊÇ˵Èç¹ûÎÒÃÇÏ£ÍûÒ»¸öÀàÐÍÖ§³Öö¾ÙÌØÐÔ£¬ÄÇôÎÒÃǾͱØÐ뻹Ҫ¶îÍⶨÒåÒ»¸ö¸¨ÖúÀàÐÍÀ´ÊµÏÖIEnumeratorµÄËùÓз½·¨¡£Õâ¸ö¸¨ÖúÀàÐÍͨ³£±»¶¨ÒåΪһ¸öNested classÉùÃ÷ÔÚÖ÷ÀàÄÚ²¿¡£ÕâÑùÔÚʵÏÖµÄʱºòÎÒÃÇ·¢ÏÖ£¬ÔÚappµ÷ÓÃGetEnumerator()·½·¨Ê±£¬ÎÒÃÇÐèÒª¹¹ÔìÒ»¸ö¸¨ÖúÀàÐ͵ÄʵÀý×÷Ϊ·µ»ØÖµ¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºIList ½Ó¿ÚÓëListµÄÇø±ðÊÇʲô£¿ ÏÂһƪ£ºobject objºÍobject obj = nullÓÐ..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿