Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2016, 13:55   #1
Neotwalker
 
Регистрация: 01.03.2016
Сообщений: 7
По умолчанию Ошибка индексации.

Не могу исправить эти ошибки:
1>c:\users\abzalov-mzh-3\documents\visual studio 2013\Projects\WindowsFormsApplicati on2\WindowsFormsApplication2\Progra m.cs(53,14,53,22): error CS0501: ConsoleApplication2.ATable.setValue (string, string) должен объявлять тело, так как он не помечен как абстрактный, внешний или частичный
1>c:\users\abzalov-mzh-3\documents\visual studio 2013\Projects\WindowsFormsApplicati on2\WindowsFormsApplication2\Progra m.cs(54,16,54,24): error CS0501: ConsoleApplication2.ATable.getValue (string) должен объявлять тело, так как он не помечен как абстрактный, внешний или частичный
1>c:\users\abzalov-mzh-3\documents\visual studio 2013\Projects\WindowsFormsApplicati on2\WindowsFormsApplication2\Progra m.cs(55,14,55,19): error CS0501: ConsoleApplication2.ATable.print() должен объявлять тело, так как он не помечен как абстрактный, внешний или частичный

Сам код вот:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{

    class ATable
    {
        public struct item
        {
           public string name;
           public string value;
        };
        item[] mass;
        int i = 0, len = 0;
        public ATable(int maxsize = 100)
        {
            mass = new item[maxsize];
        }
        public void add(string name, string 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;
                }
            }
        }
        public void remove(string name)
        {
            for(i = 0; i<len; ++i){
               if(mass[i].name==name){
                  for(int j = i; j<len; ++j){
                     mass[j] = mass[j + 1];
                  }
               }
            }
         }
        public item this[int i]
        {
            get { return mass[i]; }
        }
        void setValue(string name, string value);  // заменить значение
        string getValue(string name);              // если не нашли вернуть NULL
        void print(); // распечатать состояние объекта

        static void Main(string[] args){
        ATable Table=new ATable();
        Table.add("fish","рыба");
        Console.WriteLine {"{0} {1}",Table[0].name,Table[0].value};
        }
    };
}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 06.07.2016 в 14:01.
Neotwalker вне форума Ответить с цитированием
Старый 06.07.2016, 13:58   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Причем тут индексация? Вам ясно написали: вы объявили функции, но не реализовали их.
p51x вне форума Ответить с цитированием
Старый 06.07.2016, 14:11   #3
Neotwalker
 
Регистрация: 01.03.2016
Сообщений: 7
По умолчанию

ладно, закоментируем их, теперь конкретно появляется проблема индексации.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{

    class ATable
    {
        public struct item
        {
           public string name;
           public string value;
        };
        item[] mass;
        int i = 0, len = 0;
        public ATable(int maxsize = 100)
        {
            mass = new item[maxsize];
        }
        public void add(string name, string 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;
                }
            }
        }
        public void remove(string name)
        {
            for(i = 0; i<len; ++i){
               if(mass[i].name==name){
                  for(int j = i; j<len; ++j){
                     mass[j] = mass[j + 1];
                  }
               }
            }
         }
        public item this[int i]
        {
            get { return mass[i]; }
        }
        //void setValue(string name, string value);  // заменить значение
        //string getValue(string name);              // если не нашли вернуть NULL
        void print(); // распечатать состояние объекта

        static void Main(string[] args){
        ATable Table=new ATable();
        Table.add("fish","рыба");
        Console.WriteLine {"{0} {1}",Table[0].name,Table[0].value};
        }
    };
}
Код:
1>c:\users\abzalov-mzh-3\documents\visual studio 2013\Projects\WindowsFormsApplication3\WindowsFormsApplication3\Program.cs(53,21,53,25): error CS0054: Несовместимость по доступности: доступность типа возвращаемого индексатора "ConsoleApplication2.ATable.item" ниже доступности индексатора "ConsoleApplication2.ATable.this[int]"
Neotwalker вне форума Ответить с цитированием
Старый 06.07.2016, 14:56   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Нету тут такой ошибки, она была бы если Item был private.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.07.2016, 15:09   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вы смешали в кучу все. Сделайте отдельный класс, например Proga, только с мейном и все будет работать.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по поводу индексации рубрик сайта amilardo Помощь студентам 1 23.07.2014 20:44
Ошибка в индексации массива konstantusha Помощь студентам 1 24.10.2012 09:59
Delphi 2009 и Excel, поменяли способ индексации ячеек Valio Общие вопросы Delphi 2 07.05.2011 17:01
Вопрос по использованию циклов и индексации листов и ячеек. Zigizman Microsoft Office Excel 6 19.12.2010 19:17
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58