在NET/" style="text-decoration: none; color: inherit;" title="C#">C#中,自定义集合类为开发者提供了更大的灵活性,以适应特定需求。通过实现特定的接口,用户可以创建满足特定逻辑或功能的集合,例如可以继承自`IList` 或 `ICollection` 接口。在创建自定义集合类时,首先需要选择一个合适的基本集合类型作为基础。一般来说,使用`List`可以为数据存储提供便利。通过组合使用,用户可以在此基础上实现更复杂的行为。以下是一个简单的自定义集合类的示例代码,它增加了一些特定的功能,比如只允许添加正整数:```csharppublic class PositiveIntegerCollection : ICollection{ private List _items = new List(); public void Add(int item) { if (item <= 0) { throw new ArgumentException("只能添加正整数."); } _items.Add(item); } public void Clear() => _items.Clear(); public bool Contains(int item) => _items.Contains(item); public void CopyTo(int[] array, int arrayIndex) => _items.CopyTo(array, arrayIndex); public bool Remove(int item) => _items.Remove(item); public int Count => _items.Count; public bool IsReadOnly => false; public IEnumerator GetEnumerator() => _items.GetEnumerator(); System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => GetEnumerator();}```上面的代码定义了一个名为 `PositiveIntegerCollection` 的集合集合类。通过实现 `ICollection` 接口,程序能够支持对整数集合的基本操作。接下来,可以实现其他接口方法和属性,以增强集合的功能性。比如,可以实现 `IEnumerable` 接口以支持 `foreach` 循环对集合中的元素进行遍历。任何集合类都应该确保功能的完整性与性能的优化。在使用自定义集合类时,用户可以创建该集合的实例并通过常规的集合操作来使用。例如,添加正整数、检查是否包含特定值、遍历集合等。这样的设计将使得开发过程中更加简洁和易于维护。以下是一些使用自定义集合类的示例:- 创建实例并添加元素: ```csharpvar positiveInts = new PositiveIntegerCollection();positiveInts.Add(5);positiveInts.Add(10);``` - 检查元素是否存在:```csharpbool hasFive = positiveInts.Contains(5); ```- 遍历元素:```csharpforeach (var number in positiveInts){ Console.WriteLine(number);}```自定义集合类能够根据特定需求进行扩展,开发者可以根据自己的逻辑实现更多的业务需求,如排序、过滤等。以上这些实现方式不仅提升了代码的可读性,也增强了代码的可维护性。通过使用泛型,开发者能够轻松创建支持不同数据类型的集合,满足多样化的应用需求。