• 对于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);
                }
            }
        }
    }
  • 相关阅读:
    jquery,字符串转json对象,json对象转字符串
    Oracle,跳出游标循环
    oracle常用函数使用大全 Oracle除法(转)
    Oracle 数字操作。数字函数。mod(),trunc(),round(),ceil(),floor的使用
    Oracle 和sqlserver 字符串补齐
    js中数组的splice()方法
    详解JavaScript的splice()方法
    使用GDB命令行调试器调试C/C++程序
    代码为什么需要重构
    Spring事务管理要点总结
  • 原文地址:https://www.cnblogs.com/skysimblog/p/3387867.html
Copyright © 2020-2023  润新知