.NET 4.x Ошибка компилятора CS0019 - C#

Узнай цену своей работы

Формулировка задачи:

В общем дело такое, Главная задача: Реализовать в простейшем приближении возможность использования экземпляра моего класса аналогично экземпляру класса List<T> Есть следующая хронология действий

1) Создайте класс с именем MyList и унаследуйте его от интерфейса MList<T>.

2) В теле класса MyList, создайте пустую ссылку массив элементов типа Т с именем array и присвойте ей - null.

3) Создайте конструктор по умолчанию. В теле конструктора, создайте массив элементов типа Т размерностью в 0 элементов и запишите его в массив array

4) Реализуйте свойство Count из базового интерфейса, оно должно возвращать количество элементов массива array

5) Реализуйте метод Add из базового интерфейса. При вызове данного метода, массив array должен увеличиваться на 1 элемент и в его последний элемент должно записываться значение аргумента метода

6) Реализуйте индексатор из базового интерфейса, он должен возвращать значение элемента массива array по указанному индексу

7) Реализуйте метод Clear из базового интерфейса, он должен сбрасывать(очищать) массив array в первоначальное состояние, т.е. делать его пустым состоящим из 0 элементов.

8) Реализуйте метод Contains, который должен позвалять вам находить элемент массива array по указанному значению и если такой элемент имеется возвращать true иначе false. вот ТУТ то я и встрял

Препадоветль утверждает что нужно true: if(array[i]==item) Я пытаюсь и получаю ошибку

CS0019

Бубн порвался прошу помощи в реализации 8 пункта при этом не разламывая все остальные по возможности.
interface MyList<T>
    {
        void Add(T a);
        T this[int index] { get; }
        int Count { get; }
        void Clear();
        bool Contains(T item);
    }
    class Mylist<T> : MyList<T>
    {
        T[] array = null;
        public Mylist()
        {
            T[] constructArray = new T[0];
            array = constructArray;
        }
        public int Count
        {
            get
            {
                return array.Length;
            }
        }
        public void Add(T a)
        {
            T[] arr = new T[array.Length+1];
            for(int i = 0;i!=arr.Length;i++)
            {
                array[i] = arr[i];
            }
            array[array.Length - 1] = a;
        }
        T this [int index]
        {
            get
            {
                return array[index];
            }
        }
        public void Clear()
        {
            array = null;
        }
        bool Contains(T item)
        {
            for(int i = 0;i!=array.Length;i++) 
            {
                if (array[i] = item)    //CS0019
                {
                    return true;
                }
            }
        }

Решение задачи: «.NET 4.x Ошибка компилятора CS0019»

textual
Листинг программы
    public void Add(T a)
    {
        Array.Resize(ref array, array.Length+1);
        array[array.Length - 1] = a;
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы