Back to questions
Junior — Middle
70
Можешь назвать различные способы реализации интерфейсов коллекций в языке программирования?
Answer from AI
sobes.tech AI
В C# интерфейсы коллекций реализуются разными способами, в зависимости от требований:
-
Использование стандартных коллекций: Например,
List<T>,Dictionary<TKey,TValue>,HashSet<T>реализуют интерфейсыIEnumerable<T>,ICollection<T>,IList<T>и т.д. -
Реализация собственных коллекций: Можно создать класс, который реализует нужный интерфейс, например,
IEnumerable<T>для поддержки перебора, илиICollection<T>для поддержки добавления и удаления элементов. -
Наследование от базовых классов: Например, от
Collection<T>илиObservableCollection<T>, чтобы расширить функциональность. -
Использование оберток: Например,
ReadOnlyCollection<T>для создания неизменяемых коллекций.
Пример реализации простого перечисляемого класса:
class MyCollection<T> : IEnumerable<T>
{
private List<T> items = new List<T>();
public void Add(T item) => items.Add(item);
public IEnumerator<T> GetEnumerator() => items.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}