98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438

Реализация IEnumerable, IEnumerator

14.09.2011, 19:39. Показов 5338. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят подскажите,почему в этом коде ошибку выдаёт?Я через массив прогоняю ссылочные типы.Чтобы это сделать надо реализовать интерфейс IEnumerable.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    public class Car 
    {
        string firstname;
        int carid;
        int curspeed;
 
        public Car(string name, int id, int speed)
        {
            this.firstname = name;
            this.carid = id;
            this.curspeed = speed;
        }
        
    }
 
    class Garage:IEnumerable 
    {
        Car[] myauto;
 
        public Garage()
        {
            myauto = new Car[3];
            myauto[0] = new Car("Rusty", 1, 30);
            myauto[1] = new Car("Clunker", 2, 50);
            myauto[2] = new Car("Zippy", 3, 100);
        }
        public IEnumerator GetEnumerator()
        {
            return myauto.GetEnumerator();
        }
 
    }
        
    class DemoAuto
    {
        public static void Main(string[] args)
        {
            Garage carArray = new Garage();
 
            foreach (Car c in carArray)
            {
                Console.WriteLine("{0} is going with {1} speed,and id={2}", c.firstname, c.curspeed, c.carid);
            }
            Console.ReadLine();
        }
    }
}
Всего 2 ошибки:
Error 1 Using the generic type 'System.Collections.Generic.IEnumerable< T>' requires '1' type arguments
Error 1 Using the generic type 'System.Collections.Generic.IEnumerator< T>' requires '1' type arguments
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2011, 19:39
Ответы с готовыми решениями:

Реализация интерфейсов IEnumerable<T> и IEnumerator<T>
Не получается реализовать интерфейсы, чтобы в самодельном списке стало возможным использование оператора foreach. Может кто привести пример...

Реализация интерфейсов IEnumerable и IEnumerator для перебора статей
В классе Magazine: реализовать интерфейс System.Collections.IEnumerable для перебора статей (объектов типа Article), авторы которых не...

IEnumerable, IEnumerator
Почему данный код не выводит информацию про студента? using System; using System.Collections; using System.Collections.Generic; ...

6
48 / 48 / 8
Регистрация: 26.08.2011
Сообщений: 84
14.09.2011, 19:50
Цитата Сообщение от NowMatrix Посмотреть сообщение
Всего 2 ошибки с одинаковым текстом:
Error 1 Using the generic type 'System.Collections.Generic.IEnumerable< T>' requires '1' type arguments
Не знаю почему Ваш Visual Studio Вам выдаёт такие ошибки, но я к примеру вижу следующую ошибку. У вас в классе Car следующие поля являются закрытыми:

C#
1
2
3
 string firstname;
int carid;
int curspeed;
И в тоже время вы пытаетесь получить доступ к этим полям здесь:

Цитата Сообщение от NowMatrix Посмотреть сообщение
Console.WriteLine("{0} is going with {1} speed,and id={2}", c.firstname, c.curspeed, c.carid);
Все члены C#, для которых явно не задан модификатор доступа, являются закрытыми, то есть private. Для решения вашей проблемы подпишите к вашим полям модификатор доступа public.
1
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
14.09.2011, 19:59  [ТС]
У меня просто сначала свойства были для доступа - убрал на всякий случай, а доступ забыл изменить.А проблема осталась та же.
0
48 / 48 / 8
Регистрация: 26.08.2011
Сообщений: 84
14.09.2011, 20:06
Покажите вашу последнюю версию кода.
0
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
14.09.2011, 20:11  [ТС]
Да тоже самое,только доступ сделал открытым для переменных класса Car.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    public class Car 
    {
        public string firstname;
        public int carid;
        public int curspeed;
 
        public Car(string name, int id, int speed)
        {
            this.firstname = name;
            this.carid = id;
            this.curspeed = speed;
        }
        
    }
 
    class Garage:IEnumerable 
    {
        Car[] myauto;
 
        public Garage()
        {
            myauto = new Car[3];
            myauto[0] = new Car("Rusty", 1, 30);
            myauto[1] = new Car("Clunker", 2, 50);
            myauto[2] = new Car("Zippy", 3, 100);
        }
        public IEnumerator GetEnumerator()
        {
            return myauto.GetEnumerator();
        }
 
    }
        
    class DemoAuto
    {
        public static void Main(string[] args)
        {
            Garage carArray = new Garage();
 
            foreach (Car c in carArray)
            {
                Console.WriteLine("{0} is going with {1} speed,and id={2}", c.firstname, c.curspeed, c.carid);
            }
            Console.ReadLine();
        }
    }
}
0
48 / 48 / 8
Регистрация: 26.08.2011
Сообщений: 84
14.09.2011, 20:24
NowMatrix, тут на самом деле всё очень просто. У вас подключено пространство имён System.Collections.Generic, в котором объявлены обобщённые коллекции и соответствующие интерфейсы. А вы в своём коде, а именно в классе Garage, наследуете интерфейс IEnumerable, который не является обобщённым. Для решения проблемы просто подключите пространство имён где объявлены не обобщённые коллекции и интерфейсы, а именно System.Collections.
2
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
14.09.2011, 20:34  [ТС]
Ааа,вот в чём дело,спасибо большое,выручили))).Просто нахожусь на стадии изучения и трудно быстро самому искать ошибки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2011, 20:34
Помогаю со студенческими работами здесь

IEnumerable и IEnumerable<T>, IEnumerator и IEnumerator<T>
Здравствуйте, расскажите, пожалуйста, максимально подробно в чем различие между интерфейсами, которые казаны в заголовке, когда они...

IEnumerable, IEnumerator
Есть код: using System; using System.Collections; namespace _58_IEnuerator_IEnuerable { class Program {

Интерфейсы IEnumerable and IEnumerator
Здравствуйте, у меня есть один класс, который содержит массив объектов другого класса. Мне нужно, что бы в мейне форич вывел объекты в...

Интерфейсы IEnumerable/IEnumerator
Недавно наткнулся на вопрос &quot;Почему для перебора элементов в среде .NET используется два интерфейса, а не один?&quot;, как ни копал, так и...

Недопонял задание с IEnumerable и IEnumerator
Здравствуйте. Не совсем понял задание. В прикрепленном файле, первое задание. Я так понял что я должен написать интерфейс и применить его к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru