Грамотный перевод из C++ в C# класс хранилища объектов
Формулировка задачи:
Помогите грамотно перевести. Плохо знаком с C#. Хотя бы совет что и как. Заранее спасибо.
Вот код этот же код на C++
Листинг программы
- public class Storage<T>
- {
- public int top;
- public T [] s = new T[0];
- public Storage()
- {
- top = 0;
- }
- public void add(T var)
- {
- T [] a = new T[top+1];
- for(int i=0;i<top;i++) a[i] = s[i];
- a[top]= var;
- top++;
- //delete []s; // ошибка
- s = a;
- }
- public void remove(int p)
- {
- delete s[p]; // ошибка
- if(top>0) {
- Type [] a=new Type[top-1];
- int j=0;
- for(int i=0;i<top;i++)
- {
- if(i!= p)
- {
- a[j]=s[i];
- j++;
- }
- }
- //delete[]s;
- s = a;
- top--;
- }
- }
- public T getObject(int p)
- {
- return s[p];
- }
- public int getCount()
- {
- return top;
- }
- }
Листинг программы
- template <class Type>
- class Storage
- {
- private:
- int top;
- Type *s = new Type[top];
- public:
- Storage() {
- top = 0;
- }
- void add(Type var) {
- Type *a=new Type[top+1];
- for(int i=0;i<top;i++) a[i]=s[i];
- a[top]= var;
- top++;
- delete []s;
- s = a;
- }
- void remove(int p) {
- delete s[p];
- if(top>0) {
- Type *a=new Type[top-1];
- int j=0;
- for(int i=0;i<top;i++) {
- if(i!= p)
- {
- a[j]=s[i];
- j++;
- }
- }
- delete[]s;
- s = a;
- top--;
- }
- }
Решение задачи: «Грамотный перевод из C++ в C# класс хранилища объектов»
textual
Листинг программы
- public class Storage<T>
- {
- private int top;
- private T [] s;
- public Storage()
- {
- top = 0;
- s = new T[top];
- }
- public void Add(T var)
- {
- T [] a = new T[top+1];
- for (int i=0; i<top; i++) a[i] = s[i];
- a[top]= var;
- top++;
- s = a;
- }
- public void Remove(int index)
- {
- if (top == 0) return;
- T[] a = new T[top-1];
- for(int i=0, j=0; i<top; i++)
- {
- if(i != index)
- {
- a[j]=s[i];
- j++;
- }
- }
- s = a;
- top--;
- }
- public T this[int index]
- {
- get { return s[index]; }
- }
- public int Count
- {
- get { return top; }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д