Kак взять строку из списка последнюю?

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

Lextor

Client
Регистрация
19.06.2020
Сообщения
174
Реакции
20
Баллы
18
добрый вечер :)
как взять строку из списка последнюю? - возможно только взять строку первую :(
 
Получить количество строк
От полученного числа отнять 1
Взять строку под номером №
 
  • Спасибо
Реакции: Lextor
Получить количество строк
От полученного числа отнять 1
Взять строку под номером №

благодарю за идею. Вы правы так можно решить тоже но я сейчас параллельно искал и наткнулся на более короткий способ. Кому интересно вот решениe:

Операции над списком > получить строку > Указать номер: end

Hу или вариант от @zarufakis
 
Получить количество строк
От полученного числа отнять 1
Взять строку под номером №


Ну тут либо кубиками, либо:

C#:
Развернуть Свернуть Копировать
IZennoList list = project.Lists["list"];
int last = list.Count - 1;
return list[last];
 
  • Спасибо
Реакции: Lextor
а с удалением?
 
Получение последней строки из списка с удалением:

C#:
Развернуть Свернуть Копировать
IZennoList list = project.Lists["list"];
int last = list.Count - 1;

if(last >= 0)
{
    string lastValue = list[last];  // Получаем последний элемент
    list.RemoveAt(last);            // Удаляем его из списка
    return lastValue;               // Возвращаем значение
}
else
{
    throw new InvalidOperationException("Список пустой");
}
 
  • Спасибо
Реакции: name7778
C#:
Развернуть Свернуть Копировать
string line = project.Lists["list"].Last();
project.Lists["list"].Remove(line);
return line;
 

А что за прикол удалять? Я как правило получаю кол-во строк и потом по очереди каждую беру, так и исходный файл в целостности (вдруг чего) и воспроизвести можно повторно если нужно.
 
А что за прикол удалять? Я как правило получаю кол-во строк и потом по очереди каждую беру, так и исходный файл в целостности (вдруг чего) и воспроизвести можно повторно если нужно.
безопасный одновременный доступ из нескольких потоков
 
безопасный одновременный доступ из нескольких потоков

Ну я беру строку, делаю лок файл, следующий потом смотрит что есть лок и берет следующую. Вроде норм пока работает. А там конечно кому как нравится. Я пришел к такой схеме.
 
Ну я беру строку, делаю лок файл, следующий потом смотрит что есть лок и берет следующую. Вроде норм пока работает. А там конечно кому как нравится. Я пришел к такой схеме.
подробнее
 

Вроде все уже выше описал.
Я делаю не взять строку с удалением, а получаю кол-во строк, потом прохожу от 0 до N строк, после взятия N строки создаю лок файл, типа Run/1.lock, Run/2.lock и тп, следующий потом берет следующую строку, проверяет есть ли файл лока, есть есть, берет следующую и т.д. с последним потоком файлы лока затираются (ну либо после каждого прохода стирается свой).
 
Вроде все уже выше описал.
Я делаю не взять строку с удалением, а получаю кол-во строк, потом прохожу от 0 до N строк, после взятия N строки создаю лок файл, типа Run/1.lock, Run/2.lock и тп, следующий потом берет следующую строку, проверяет есть ли файл лока, есть есть, берет следующую и т.д. с последним потоком файлы лока затираются (ну либо после каждого прохода стирается свой).
и всё это ты вынужден обезопашивать через код с помощью лок-конструкции lock (object)?
 

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