C# 自定义集合

using System;
using System.Collections;

namespace Lucia
{
    [Serializable]
    public sealed class ClassCollection: CollectionBase
    {
        public int Add(Class value)
        {
            return base.List.Add(value);
        }

        public void AddRange(Class[] values)
        {
            foreach (Class info in values)
            {
                this.Add(info);
            }
        }

        public void AddRange(IEnumerable @enum)
        {
            foreach (Class info in @enum)
            {
                this.Add(info);
            }
        }

        public bool Contains(Class value)
        {
            return base.List.Contains(value);
        }

        public int IndexOf(Class value)
        {
            return base.List.IndexOf(value);
        }

        public void Insert(int index, Class value)
        {
            base.List.Insert(index, value);
        }

        public void Remove(Class value)
        {
            base.List.Remove(value);
        }

        public void CopyTo(Class[] array, int index)
        {
            ICollection is2 = this;
            is2.CopyTo(array, index);
        }

        public Class[] ToArray()
        {
            Class[] array = new Class[base.Count];
            this.CopyTo(array, 0);
            return array;
        }

        public Class this[int index]
        {
            get
            {
                return (Class)base.List[index];
            }
            set
            {
                base.List[index] = value;
            }
        }
    }
}
时间: 2024-10-25 19:21:43

C# 自定义集合的相关文章

十六、C# 常用集合类及构建自定义集合(使用迭代器)

常用集合类及构建自定义集合 1.更多集合接口:IList<T>.IDictionary<TKey,TValue>.IComparable<T>.ICollection<T> 2.主要集合类:List<T>.IDictionary<TKey,TValue>.SortedDictionary<TKey,TValue>和SortedList<T> Stack<T>.Queue<T>.Linke

自定义集合初始化器

对int类型集合初始化,这样写: static void Main(string[] args) { var list = new List<int> {0, 1}; foreach (var item in list) { Console.WriteLine(item); } Console.ReadKey(); } 对键值对集合初始化,这样写: static void Main(string[] args) { var dic = new Dictionary<string, str

UICollectionView(集合视图)以及自定义集合视图

一.UICollectionView集合视图 其继承自UIScrollView. UICollectionView类是iOS6新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView类. 1.需要遵循的协议: 1)UICollectionViewDataSource, 2)UICollectionViewDelegate, 3)UICollectionViewDelegateFlowLayout 2.创建collection: UICollectionVi

C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能

1.IEnumerator和IEnumerable的作用 其实IEnumerator和IEnumerable的作用很简单,就是让除数组和集合之外的类型也能支持foreach循环,至于foreach循环,如果不清楚,请参考C# foreach循环较for循环的优势与劣势 代码如下: static void Main(string[] args) { CatList cats = new CatList(); foreach (var cat in cats) { Console.WriteLine

使用yield关键字让自定义集合实现foreach遍历

一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我们也可以通过使用yield关键字构建的迭代器方法来实现foreach的遍历,且自定义的集合不用实现IEnumerable接口 注:虽然不用实现IEnumerable接口 ,但是迭代器的方法必须命名为GetEnumerator() ,返回值也必须是IEnumerator类型 实例代码以及简单说明如下: 1 class Person 2 { 3

自定义集合支持使用 foreach循环访问该集合

自定义集合支持使用 foreach循环访问该集合,需要实现 IEnumerable 和 IEnumerator 接口. using System;using System.Collections;public class Person{   public Person(string fName, string lName)   {      this.firstName = fName;      this.lastName = lName;   }   public string firstN

实现自定义集合的可枚举类型(IEnumerable)和枚举数(IEnumerator )

下面的代码示例演示如何实现自定义集合的 IEnumerable 和 IEnumerator 接口: 1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace ConsoleApplication1 9 { 10 publi

《C#本质论》读书笔记(16)构建自定义集合

16.1 更多集合接口 16.1.1 IList<T>与IDictionary<TKey,TValue> 16.1.2 ICollection<T> 16.2 主要集合类 16.2.1 列表集合:List<T> 16.2.2 全序 16.2.3 搜索List<T> 16.2.4 字典集合:Dictonary<TKey,TValue> 16.2.5 已排序集合:SortedDictionary<TKey,TValue>和So

java中并发集合

在 Java 编程的早期阶段,位于 Oswego 市的纽约州立大学(SUNY) 的一位教授决定创建一个简单的库,以帮助开发人员构建可以更好地处理多线程情况的应用程序.这并不是说用现有的库就不能实现,但是就像有了标准网络库一样,用经过调试的.可信任的库更容易自己处理多线程.在 Addision-Wesley 的一本相关书籍的帮助下,这个库变得越来越流行了.最终,作者 Doug Lea 决定设法让它成为 Java 平台的标准部分 -- JSR-166.这个库最后变成了 Tiger 版本的 java.