Перевод кода из C++ в C#

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

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

Понимаю, что прошу сложную задачу, но я начал изучать C# буквально пару дней назад, а уже сейчас нужно перевести код из C++ в C#.
#include <iostream>
#include <cstdio>
 
using namespace std;
 
struct item{
      char* name;
      char* value;
};
 
class ATable
{
   item *mass;
   int i = 0, len = 0;
  public:
    ATable(int maxsize=100){
      mass=new item[maxsize];
      }
    ~ATable(){
      delete[] mass;
       }
    void add(char *name, char *value){
      for(i = 0; i < len; ++i){
         if(mass[i].name == name){
            break;
         }
      if( i < 100){
         mass[i].name = name;
         mass[i].value = value;
         len = len>i+1 ? len : i + 1;
       }
    }
 }
    void remove(char *name){
       for(i = 0, name != NULL, ++i){
               if(mass[i].name==name){
                  for(int j = i; mass[j] != NULL; ++j){
                     mass[j] = mass[j + 1];
                  }
               }
            }
         }
          void setValue(char *name, char *value);  // заменить значение
    char *getValue(char *name);              // если не нашли вернуть NULL
    void print(); // распечатать состояние объекта
};
 
int main(){
   ATable Table=new ATable;
   ATable::add("fish","рыба");
   cout<<mass[0].name<<mass[0].value;
   return 0;
}
#include <iostream>
 
namespace Programm{
   
class ATable
{
   
  public:
    ATable(int maxsize=100);
    ~ATable();
    void add(char *name, char *value);      
    void remove(char *name);
    void setValue(char *name, char *value);  // заменить значение
    char *getValue(char *name);              // если не нашли вернуть NULL
    void print(); // распечатать состояние объекта
};
}

Решение задачи: «Перевод кода из C++ в C#»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication2
{
 
    class ATable
    {
        public class item
        {
            public string name;
            public string value;
        };
 
        public List<item> mass;
 
        public ATable()
        {
            mass = new List<item>();
        }
        public void add(string name, string value)
        {
            if (mass.Select(x => x.name).Contains(name))
                return;
            mass.Add(new item() { name = name, value = value });
        }
        public void remove(string name)
        {
            item NoNeedItem = mass.Where(x => x.name == name).FirstOrDefault();
            if (NoNeedItem == null)
                return;
            mass.Remove(NoNeedItem);           
        }
 
        void print() // распечатать состояние объекта
        {
            // TODO реализовать распечатку
        }
 
        static void Main(string[] args)
        {
            ATable Table = new ATable();
            Table.add("fish", "рыба");
            Console.WriteLine("{0} {1}", Table.mass[0].name, Table.mass[0].value);
        }
    };
}

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


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

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

15   голосов , оценка 3.933 из 5