• Предмет: Информатика
  • Автор: Kukuwka0Ha0DepeBe
  • Вопрос задан 3 месяца назад

С#
1. Реализовать метод PushBack, который будет добавлять массиву 1 ячейку с указанными данными.



(Чтобы изменить размер обычного массива, используйте метод Array.Resize(data, ...)





2. Реализовать перегрузку [] (не operator [] в шарпе)



3. override Equals, для сравнения двух массив по значениям.



4. По желанию что-то своё (сорт, реверс, ...) Учитывайте что массив шаблонный, могут быть любые типы данных.

Ответы

Ответ дал: t77887367
0

Ответ:

public class MyArray<T>

{

   private T[] data;

   public MyArray()

   {

       data = new T[0];

   }

   public void PushBack(T item)

   {

       Array.Resize(ref data, data.Length + 1);

       data[data.Length - 1] = item;

   }

   public T this[int index]

   {

       get { return data[index]; }

       set { data[index] = value; }

   }

   public override bool Equals(object obj)

   {

       if (obj is MyArray<T> other)

       {

           if (data.Length != other.data.Length)

               return false;

           for (int i = 0; i < data.Length; i++)

           {

               if (!data[i].Equals(other.data[i]))

                   return false;

           }

           return true;

       }

       return false;

   }

   public void Reverse()

   {

       Array.Reverse(data);

   }

}

Объяснение:

Вот пример реализации класса массива в C# с указанными методами:

Метод PushBack изменяет размер массива и добавляет элемент в конец.

Перегрузка оператора [ ] позволяет получить и установить значение по индексу.

Метод Equals сравнивает два массива по значениям.

Метод Reverse переворачивает массив. Это дополнительный метод, который я добавил по желанию. Он работает для любого типа данных, так как массив является шаблонным.

Вас заинтересует