Как получить номер строки через параллельные запросы ?

  • Автор темы Автор темы Art4D
  • Дата начала Дата начала

Art4D

Client
Регистрация
22.08.2014
Сообщения
276
Реакции
48
Баллы
28
Привет.
Нашел на форуме такой код:

C#:
Развернуть Свернуть Копировать
// Добавить в using
using System.Threading.Tasks;

// Снипет:
string textContains = project.Variables["id"].Value;
string status = "no";
IZennoList sourceList = project.Lists["spisok"];
Parallel.ForEach<string>(sourceList, el => {
    if (el == textContains){
    status = "yes";
    }
});
return status;

Как сделать, чтобы при status = "yes"в какую-нибудь переменную отдавался еще номер строки?
 
А нет, таки разобрался, чуть позже напишу сюда
 
C#:
Развернуть Свернуть Копировать
string textContains = project.Variables["id"].Value;
string status = "no";
IZennoList sourceList = project.Lists["spisok"];
Parallel.ForEach<string>(sourceList, (el, state, index) => {
    if (el == textContains)
    {
        project.Variables["какая-то_переменная"].Value = index.ToString();
        status = "yes";
    }
});
return status;
 
  • Оценить
Реакции: Art4D
Наврятли это кому-то надо, но на всякий случай оставлю)

C#:
Развернуть Свернуть Копировать
// Добавить в using
using System.Threading.Tasks;

//Сниппет
string textContains = project.Variables["text"].Value; // искомый текст
IZennoList sourceList = project.Lists["Base"]; //список в котором ищем
Parallel.ForEach<string>(sourceList, (line, state, index) =>
    {
        if (line == textContains){ // если строка содержит текст
        project.Variables["line_base"].Value = line; //в переменную line_base пишем содержимое этой строки
        project.Variables["index_base"].Value = index.ToString(); // в переменную index_base пишем номер этой строки в формате string
        state.Break();    // останавливаем сниппет
        }
    });

Находит строку в списке, записывает ее содержимое и номер.
 

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