Перевод кода из 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);
}
};
}