Помогите с кодом C#

Andron

Client
Регистрация
08.04.2015
Сообщения
222
Благодарностей
10
Баллы
18
Нужно как-то применить код в зене. Постоянно выдаёт ошибки.
Данные: список с ссылками
страница сайта
Задача: Проверить есть ли на сайте какая либо из ссылок. Желательно что бы ещё в результате указывало какая именно, но если нет то не критично.

Решил взять в переменную dom-модель страницы и её обрабатывать скриптом:
Код:
public bool IsLinkExist()
  {
   string[] project.Lists["all_links"]; //мои ссылки
   string project.Variables["html"].Value; // исходный код страницы
   foreach (string link in your18Links) // для каждой моей ссылки ...
   {
    if(pageText.Contains(link)) // проверяем, если ссылка в таком виде содерится на странице, то
    {
     return true;
    }  
   }
   return false;
  }
Постоянно выдает ошибки типа ожидалась ";" или недопустимый термин. Хотя вроде код правильный.

В C# не шарю с кодом помог знакомый прогер который с зеной не знаком.
Спасибо
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
В zenno обычный компилятор кода из Net.framework. Ваш знакомый программист должен разобраться где проблема в коде.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
Код:
 foreach (string link in your18Links)
разве не так должно быть?
foreach (string link in your18Links);
 

Andron

Client
Регистрация
08.04.2015
Сообщения
222
Благодарностей
10
Баллы
18

Вложения

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Начнем с того что код изначально с неправильной логикой. foreach который после проверки одной ссылки прерывается и выводит true или false.
Почему не пользуетесь стандартным экшеном? Можно же ссылки искать также в цикле в DOM страницы?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Начнем с того что код изначально с неправильной логикой. foreach который после проверки одной ссылки прерывается и выводит true или false.
Почему не пользуетесь стандартным экшеном? Можно же ссылки искать также в цикле в DOM страницы?
Почему же? Ты просмотрел.
Код выдаёт True, если ссылка под что то там подходит. False же выдаётся за циклом, т.е. если ни одна ссылка не подошла.

А по коду не вижу в чем проблема :(
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
в логике проблема.
ему нужно для каждой моей ссылки ..
то есть предполагается перебор. а тут просто заход на foreach и сразу выход оттуда на return )
ну то есть даже если бы код был правильно написан, учитывая список проекта, то дальше первой строки в списке он бы не пошел никуда)
 

Andron

Client
Регистрация
08.04.2015
Сообщения
222
Благодарностей
10
Баллы
18
Начнем с того что код изначально с неправильной логикой. foreach который после проверки одной ссылки прерывается и выводит true или false.
Почему не пользуетесь стандартным экшеном? Можно же ссылки искать также в цикле в DOM страницы?
Мне нужно проверить наличие одной из 18-ти ссылок на странице. Хочу упростить бот за счёт кода.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Если этих ссылок ограниченное число, т.е. всего 18, можно сделать это так:
1. Объеденить список, который содержит ссылки через свой разделитель - |, чтобы получилось так site1|site2|site3
2. Обработка текста - Regex - Теекст для обработки - {-Page.Dom-} - что искать - переменная с сайтами. В переменную попадёт сайт, который есть на этой странице. Если же переменная пустая, значит сайта нету на странице.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
подумай немного да код свой допиши до конца, сравнение есть, поставь теперь условие что тебе надо при нахождении этой ссылки, росстоникс правильно говорит, в любом случае ты выходишь при чём при первом сравнении
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Да нет там никакого косяка в логике) я тоже так постоянно делаю)
Если мне пофигу какая из 18 ссылок находится на странице то отлично все работает, если ни одна из них не выстрелила - то тогда False) А так если есть хоть одна (не важно какая) то True
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
То что там нужно найти одну из мне стало понятно только несколько сообщений назад)
 
  • Спасибо
Реакции: Lexicon

NoN

Пользователь
Регистрация
04.01.2015
Сообщения
183
Благодарностей
22
Баллы
18
@Andron проблему решили?
 

Andron

Client
Регистрация
08.04.2015
Сообщения
222
Благодарностей
10
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)