Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 20

Как в конструкторе класса вместо коллекции List использовать IEnumerable

07.09.2013, 11:45. Показов 2793. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс
C#
1
2
3
4
5
6
7
8
9
10
public class Patient
    {
        public Patient()
        {
            Visits = new List<Visit>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual List<Visit> Visits { get; set; }
    }
Как вместо коллекции List в нем использовать коллекцию IEnumerable?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2013, 11:45
Ответы с готовыми решениями:

Как вытащить из IEnumerable коллекции объект по запросу
Здравствуйте! В контроллере во вьюху передается две коллекции, коллекции представлены в виде IEnumerable&lt;T&gt;: ...

Практичнее ли использовать list<> вместо массива
мне хотелось бы использовать list&lt;&gt; вместо массива, но вопрос быстрого доступа и записи данных один из главных. мне Нада сделать что-то...

Пример создания коллекции объектов с использованием интерфейса List и класса ArrayList
package main; public class Main { public static void main(String args) { Segment s1 = new Segment(0.0, 0.0, 0.0, 1.0,...

8
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
07.09.2013, 12:42
C#
1
2
3
4
5
6
7
8
9
10
public class Patient
    {
        public Patient()
        {
            Visits = new IEnumerable<Visit>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual IEnumerable<Visit> Visits { get; set; }
    }
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 20
07.09.2013, 12:49  [ТС]
Цитата Сообщение от Goal Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
public class Patient
    {
        public Patient()
        {
            Visits = new IEnumerable<Visit>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual IEnumerable<Visit> Visits { get; set; }
    }
Я пробовал так писать возникает ошибка Cannot create an instance of the abstract class or interface 'System.Collections.Generic.IEnumerable< Visit>'
0
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
07.09.2013, 12:50
Создать экземпляр интерфейса невозможно, если только он не помечен атрибутом, в котором указывается класс по умолчанию, который реализует этот интерфейс.

C#
1
IEnumerable<int> m = new List<int>();
0
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
07.09.2013, 12:57
да, точно
C#
1
2
3
4
5
6
7
8
9
10
public class Patient
    {
        public Patient()
        {
            Visits = new List<int>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual IEnumerable<Visit> Visits { get; set; }
    }
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 20
07.09.2013, 13:12  [ТС]
Цитата Сообщение от Goal Посмотреть сообщение
да, точно
C#
1
2
3
4
5
6
7
8
9
10
public class Patient
    {
        public Patient()
        {
            Visits = new List<int>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual IEnumerable<Visit> Visits { get; set; }
    }
да только у IEnumerable тип Visit, а у Lista int приводит к ошибке Cannot implicitly convert type 'System.Collections.Generic.List<int>' to 'System.Collections.Generic.IEnumerable< Visit>'. An explicit conversion exists (are you missing a cast?)

Добавлено через 7 минут
Цитата Сообщение от odmitrys Посмотреть сообщение
да только у IEnumerable тип Visit, а у Lista int приводит к ошибке Cannot implicitly convert type 'System.Collections.Generic.List<int>' to 'System.Collections.Generic.IEnumerable< Visit>'. An explicit conversion exists (are you missing a cast?)
как я понял вместо int должно быть Visit только как теперь получить свойства класса Visit из List, т.е. из IEnumerable?
0
43 / 43 / 19
Регистрация: 30.11.2011
Сообщений: 112
07.09.2013, 13:58
odmitrys, что мешает собственно наполнить список экземплярами класса Visit, а потом обращаться по индексу?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 20
07.09.2013, 14:26  [ТС]
Цитата Сообщение от k0z@k Посмотреть сообщение
odmitrys, что мешает собственно наполнить список экземплярами класса Visit, а потом обращаться по индексу?
он уже наполнен из БД, только я не пойму как к нему обращаться?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.09.2013, 16:53
odmitrys, потому что List<int> != List<Visit> ~ IEnumerable<Visit>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2013, 16:53
Помогаю со студенческими работами здесь

IEnumerable в качестве результата, как использовать?
День добрый, практикуюсь с алгоритмами по Сейджвику. На примере поиска цикла в орграфе private void Dfs(Digraph G, int v) // v is...

Как использовать значения, возвращаемые IEnumerable
Здравствуйте. Ситуация следующая (программа просто для того, что бы попробовать как работать с этой бд): у меня есть класс public...

IEnumerator<Т> и IEnumerable<T> - в чем разница и как использовать?
Помогите, пожалуйста, разобраться с IEnumerator&lt;Т&gt; и IEnumerable&lt;T&gt;. В чем разница использования этих интерфейсов? Вернее, как их...

Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса?
Ну то есть так: есть родительский и дочерний класс, в родительском определен виртуальная функция и вызывается в его конструкторе (камень...

Сделать сортировку коллекции вместо создания новой коллекции с передачей IOrderedEnumerable<T>
Есть: SortableObservableCollection&lt;T&gt; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru