zoukankan      html  css  js  c++  java
  • 对于IEnumerable的一点理解

      IEnumerableIEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerableIEnumerable<T>接口是.NET Framework中最基本的集合访问器,这两个接口对于LINQ的理解是非常重要的。

      在网上看了些这方面的东西,在此对自己看到的一些这方面知识进行下总结。废话不多说,直接上代码。

    namespace IEnumeratorSample
    {
        using System;
        using System.Collections;
        using System.Collections.Generic;
    
        internal class Person : IEnumerable<PersonEnum>
        {
            private ICollection<PersonEnum> PersonList { get; set; }
    
            public Person()
            {
                this.PersonList = new List<PersonEnum>();
            }
    
            public IEnumerator GetEnumerator()//实现接口
            {
                return this.PersonList.GetEnumerator();
            }
    
            public void AddItem(PersonEnum entity)
            {
                if (PersonList == null)
                {
                    PersonList = new List<PersonEnum>();
                }
                PersonList.Add(entity);
            }
    
            public bool Remove(PersonEnum entity)
            {
                return PersonList.Remove(entity);
            }
    
            IEnumerator<PersonEnum> IEnumerable<PersonEnum>.GetEnumerator()
            {
                return this.PersonList.GetEnumerator();
            }
        }
    
        internal class PersonEnum
        {
            public string Name;
    
            public string Age;
    
            public PersonEnum(string name, string age)
            {
                Name = name;
    
                Age = age;
            }
        }
    
        internal class Program
        {
            private static void Main(string[] args)
            {
                PersonEnum one = new PersonEnum("leo", "23");
                PersonEnum two = new PersonEnum("Ray", "25");
                Person persons = new Person();
                persons.AddItem(one);
                persons.AddItem(two);
                foreach (PersonEnum person in persons)
                {
                    Console.WriteLine(person.Name);
                }
            }
        }
    }
  • 相关阅读:
    Linux 查看本地ip
    php 利用debug_backtrace方法跟踪代码调用
    开源镜像站,vmware下载
    robots.txt 让搜索引擎不再收录网站
    PHP 面向对象 final类与final方法
    开源代码
    PHPStorm设置Ctrl+滚轮调整字体大小
    PHP array_chunk() 妙用
    第九节 JavaScript提取行间事件
    第八节 JavaScript函数的定义和执行
  • 原文地址:https://www.cnblogs.com/skysimblog/p/3387867.html
Copyright © 2011-2022 走看看