Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> улучшить код 
V
    Опции темы
blackwitcher
Дата 10.7.2015, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



всем привет, нужно как то улучшить код
Код

public int HowManyPagesLeft()
        {
            // TODO 3: Improve/fix the code here.
            var readPages = 0;
            for (var page = 1; page <= PagesCount; page++)
            {
                foreach (var range in _readPages)
                {
                    if (page >= range.From && page <= range.To)
                    {
                        readPages++;
                    }
                }
            }

            var leftPages = PagesCount - readPages;
            return leftPages;
        }

 smile 
PM MAIL   Вверх
Sartorius
Дата 10.7.2015, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 1
Всего: 37



А чего просто не сложить размеры range-ей? Тут объединение их, кстати, не считается, если это было задачей, потому что одна страница инкрементит readPages для каждого диапазона, в который попадает.
PM MAIL ICQ   Вверх
blackwitcher
Дата 10.7.2015, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



а как? smile 
PM MAIL   Вверх
Sartorius
Дата 10.7.2015, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 1
Всего: 37



Код

public int HowManyPagesLeft() {
  var readPages = 0;
  foreach (var range in _readPages) readPages += range.To - range.From + 1;
  return PagesCount  - readPages;
}

PM MAIL ICQ   Вверх
blackwitcher
Дата 10.7.2015, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



спасибо smile 

Это сообщение отредактировал(а) blackwitcher - 10.7.2015, 11:16
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1083 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.