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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2015, 12:53   #21
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Спасибо, вот возник вопрос, если меня интересует считывание текста с 20 строки по 1000. такой цикл не подойдет?

Код:
int index=20;

for(int i=index;i<readtext.lenght-5;i++)
И вообще как это реализовать в моём примере?
Fil_1990 вне форума Ответить с цитированием
Старый 25.09.2015, 13:54   #22
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пойдёт.
можно просто:
Код:
for(int i=19;i<1000;i++)
строки, загружены массив, а там элементы нумеруются от нуля
поэтому 20-я строка - это index = 19
а последнюю надо обработать строчку с индексом 999 (это будет 1000-я строка)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2015, 15:15   #23
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Не пойму в какое место эту конструкцию вставлять ругается
Код:
foreach (string s in readText)
            {
                for (int i = 19; i < 1000; i++)
                {

                    string[] elements = s.Split(',');

                    if (TimeSpan.TryParse(elements[4], out current_time))
                    {
                        intervaltimesum += current_time;
                        countTime++;
                    }
                }
            }

                TimeSpan intervalAverage = TimeSpan.FromSeconds(intervaltimesum.TotalSeconds / countTime);
                Console.WriteLine("Среднее время = {0}", intervalAverage);
            }
Fil_1990 вне форума Ответить с цитированием
Старый 25.09.2015, 15:59   #24
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
Сообщение

Цитата:
Сообщение от Fil_1990 Посмотреть сообщение
Не пойму в какое место эту конструкцию вставлять ругается
ну правильно ругается!
И даже хорошо, что ругается, иначе был был провал в работе!

Вы же и старый цикл по всем строчкам foreach оставили и новый добавили.

пробуйте примерно так
Код:
            string path = @"C:\Users\a.filatov\Desktop\1\COMMA.txt";
            string[] readText = File.ReadAllLines(path);

< здесь не помешала бы проверка на то, что в массиве readText есть нужное количество строк,
если строк меньше 1000 - то выходить с ошибкой, например >

            TimeSpan intervaltimesum = new TimeSpan();
            TimeSpan current_time;
            int countTime = 0;


            for (int i = 19; i < 1000; i++)
               {
                    string[] elements = readText[i].Split(',');

                    if (TimeSpan.TryParse(elements[4], out current_time))
                    {
                        intervaltimesum += current_time;
                        countTime++;
                    }
                }
.......
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2015, 16:52   #25
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Спасибо, а чем этот цикл отличается от предыдущей версии,объясните пожалуйста.

А как будет выглядеть условие если сделать проверку , чтобы если время отклонения более 2 часов записывать в другой файл?

Последний раз редактировалось Fil_1990; 25.09.2015 в 17:08.
Fil_1990 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой парсер, не могу получить href из html (DOM) strongmaster Общие вопросы Delphi 3 08.08.2015 21:10
Написать парсер elena380 Фриланс 3 26.11.2013 12:33
написать парсер Goodmaer Фриланс 1 19.05.2013 23:15
Нужно написать парсер tish88 Фриланс 35 02.09.2011 09:47
Требуется написать парсер-граббер сайтов bashkov Фриланс 4 28.07.2009 01:12