Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
6 / 6 / 4
Регистрация: 16.11.2013
Сообщений: 134
1

Объявите класс FloatCollection, который наследует List<float> и имеет конструктор с двумя вещественными параметрами

19.04.2014, 20:14. Показов 674. Ответов 2
Метки нет (Все метки)

Вот задача: Объявите класс FloatCollection, который наследует List<float> и имеет конструктор с двумя вещественными
параметрами - нижняя и верхняя границы. Переопределите методы Add() и AddRange() так, чтобы они добавляли в
коллекцию лишь такие числа, которые больше нижней,но меньше верхней границы и игнорировали все прочие числа.
С той же целью переопределите и индексатор коллекции, т.е. он не должен производить никаких действий при попытке
вывести элемент коллекции за пределы заданного диапазона.

Моё решение:
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
public class FloatCollection : List<float>
{
    float min,max;
    public FloatCollection(float min, float max)
    {
        this.min = min;
        this.max = max;
    }
    new public void Add(float i)
    {
        if(i > min && i < max)
            base.Add(i);
    }
    new public void AddRange(IEnumerable<float> list)
    {
        foreach(var x in list)
            this.Add(x);
    }
    new public float this[int i]
    {
        get {return this[i];}
        set 
        {
            if(value > min && value < max)
                this[i] = value;
        }
    }   
}
Проблема в индексаторе. Аксессор set работает некорректно. Скажите, пожалуйста, в чем может быть проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2014, 20:14
Ответы с готовыми решениями:

Объявите класс IntCollection, который наследует List<int> и имеет конструктор с двумя целыми параметрами
Изначальные условия таковы: Кусок моей реализации: class IntCollection : List&lt;int&gt; ...

Проинициализировать класс массивов который имеет конструктор по умолчанию
Или я не знаю как правельно спрасить у гуглы,или это не возможно,кто знает как можно реализовать...

Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк,...

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно»
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
2
280 / 251 / 73
Регистрация: 17.07.2012
Сообщений: 616
19.04.2014, 22:43 2
Замени на это. Дело в том , что ты в своём коде делал рекурсивный вызов, и всё падало со StackOverflowException, т.к ты свою внутреннюю коллекцию не объявлял , но словами this[i] пытался к неё достучатся.
В общем, т.к ты делаешь base.Add ты добавляешь элементы во внутреннюю приватную коллекцию List'a, и тебе также надо оттуда эти элементы забирать.

C#
1
2
3
4
5
6
7
8
9
new public float this[int i]
        {
            get { return base[i]; }
            set
            {
                if (value > min && value < max)
                    base[i] = value;
            }
        }
1
6 / 6 / 4
Регистрация: 16.11.2013
Сообщений: 134
19.04.2014, 22:49  [ТС] 3
ITL, Спасибо за исчерпывающий ответ!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2014, 22:49

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Класс MyMath обеспечивающий выполнение операций сравнения над двумя вещественными числами
Класс должен включать в себя поля x и y (числа, над которыми выполняются операции), а также...

Сортировка List с двумя параметрами списка вызывает ошибку
Добрый день уважаемые форумчане, помогите отсортировать список. Список объявляю так: ...

Разработать класс MyMath, обеспечивающий выполнение операций сравнения над двумя вещественными числами
Класс должен включать в себя поля x и y (числа, над которыми выполняются операции), а также...

Разработать класс MyMath, обеспечивающий выполнение операций сравнения над двумя вещественными числами
Помогите написать код программы..я в тупике, не получается написать код.. Разработать класс...

Создать класс, который имеет параметризованный метод, который рассчитывает, простое ли число
Создать класс, который имеет параметризованный метод, который рассчитывает, простое ли число.

Создать класс с полями, конструктор с параметрами
Создать класс Пользователь с полями: логин, пароль, идентификатор (поля закрыты, доступ к полям...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.