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

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

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

Понимаю, что прошу сложную задачу, но я начал изучать C# буквально пару дней назад, а уже сейчас нужно перевести код из C++ в C#.
Листинг программы
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. struct item{
  5. char* name;
  6. char* value;
  7. };
  8. class ATable
  9. {
  10. item *mass;
  11. int i = 0, len = 0;
  12. public:
  13. ATable(int maxsize=100){
  14. mass=new item[maxsize];
  15. }
  16. ~ATable(){
  17. delete[] mass;
  18. }
  19. void add(char *name, char *value){
  20. for(i = 0; i < len; ++i){
  21. if(mass[i].name == name){
  22. break;
  23. }
  24. if( i < 100){
  25. mass[i].name = name;
  26. mass[i].value = value;
  27. len = len>i+1 ? len : i + 1;
  28. }
  29. }
  30. }
  31. void remove(char *name){
  32. for(i = 0, name != NULL, ++i){
  33. if(mass[i].name==name){
  34. for(int j = i; mass[j] != NULL; ++j){
  35. mass[j] = mass[j + 1];
  36. }
  37. }
  38. }
  39. }
  40. void setValue(char *name, char *value); // заменить значение
  41. char *getValue(char *name); // если не нашли вернуть NULL
  42. void print(); // распечатать состояние объекта
  43. };
  44. int main(){
  45. ATable Table=new ATable;
  46. ATable::add("fish","рыба");
  47. cout<<mass[0].name<<mass[0].value;
  48. return 0;
  49. }
Листинг программы
  1. #include <iostream>
  2. namespace Programm{
  3. class ATable
  4. {
  5. public:
  6. ATable(int maxsize=100);
  7. ~ATable();
  8. void add(char *name, char *value);
  9. void remove(char *name);
  10. void setValue(char *name, char *value); // заменить значение
  11. char *getValue(char *name); // если не нашли вернуть NULL
  12. void print(); // распечатать состояние объекта
  13. };
  14. }

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

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ConsoleApplication2
  6. {
  7.  
  8.     class ATable
  9.     {
  10.         public class item
  11.         {
  12.             public string name;
  13.             public string value;
  14.         };
  15.  
  16.         public List<item> mass;
  17.  
  18.         public ATable()
  19.         {
  20.             mass = new List<item>();
  21.         }
  22.         public void add(string name, string value)
  23.         {
  24.             if (mass.Select(x => x.name).Contains(name))
  25.                 return;
  26.             mass.Add(new item() { name = name, value = value });
  27.         }
  28.         public void remove(string name)
  29.         {
  30.             item NoNeedItem = mass.Where(x => x.name == name).FirstOrDefault();
  31.             if (NoNeedItem == null)
  32.                 return;
  33.             mass.Remove(NoNeedItem);          
  34.         }
  35.  
  36.         void print() // распечатать состояние объекта
  37.         {
  38.             // TODO реализовать распечатку
  39.         }
  40.  
  41.         static void Main(string[] args)
  42.         {
  43.             ATable Table = new ATable();
  44.             Table.add("fish", "рыба");
  45.             Console.WriteLine("{0} {1}", Table.mass[0].name, Table.mass[0].value);
  46.         }
  47.     };
  48. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут