Как взять строку из списка по ее номеру с помощью C#?

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Друзья, добрый день!
Есть список 25 строк. Как взять текст скажем из 13 строки, или из 14 с помощью кода?
Есть ощущение, что таким путем будет это будет быстрее сделать.

Спасибо заранее!
:-)
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
без удаления
Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str);
с удалением

Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str, true);
но быстрее скорее всего не будет
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
без удаления
Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str);
с удалением

Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str, true);
но быстрее скорее всего не будет

Благодарю вас! Я немного не понял, код берет строку и куда ложит? Мне где-то надо указать переменную куда положить эту строку.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
в кубике c# есть в самом низу - галочка - не возвращать значение - её надо снять и дальше выбрать переменную куда положить возвращаемое значение
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
в кубике c# есть в самом низу - галочка - не возвращать значение - её надо снять и дальше выбрать переменную куда положить возвращаемое значение
Спасибо, пойду разбираться.
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
без удаления
Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str);

но быстрее скорее всего не будет[/QUOTE]

Не разобрался.
Что делает вот эта строка:
return project.Lists["List 1"].GetItem(num_str);

"List 1" - это список который должен быть у меня?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
да, лист 1 - это название Вашего ранее созданного списка
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
без удаления
Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str);
с удалением

Код:
string num_str = Convert.ToString(project.Variables["название переменной с необходимым номером"].Value);
return project.Lists["List 1"].GetItem(num_str, true);
но быстрее скорее всего не будет

Не разобрался.
return project.Lists["List 1"].GetItem(num_str);

Что вот эта часть кода делает?
"List 1" - это список который у меня уже должен быть?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
что не работает - какая ошибка - заскриньте
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
что не работает - какая ошибка - заскриньте
Я кажется понял, поправьте пожалуйста.
Код который вы написали берет из переменной номер строки, а потом из списка забирает текст строки с этим номером и ложит в переменную. Так?

Мне немного не это нужно было.
В переменной лежит список, например такой:

Антенна
Водоотведение
Водоснабжение
ГВС
Природный газ
Содержание и ремонт жилья

Строка с номером 0 содержит текст "Антенна"
Под номером 2 идет текст "Водоснабжение" и тд.

Нужно, чтобы код извлек строку с номером например 2 (или какой укажу), которая содержит текст "Водоснабжение" и положил в конкретную переменную.
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Без удаления или с удалением строки.
Будьте добры, если не трудно.
:-)
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
хм) не вижу разницы в том, в чём Вы видите разницу. Вы же в конце тоже самое написали, или я что-то не улавливаю
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
project.Variables["название переменной с необходимым номером"].Value - та самая переменная, тот самый номер строки, внутри этой переменной - Нужно, чтобы код извлек строку с номером например 2 (или какой укажу)
положил в конкретную переменную. - это я писал - в кубике c# есть в самом низу - галочка - не возвращать значение - её надо снять и дальше выбрать переменную куда положить возвращаемое значение
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
хм) не вижу разницы в том, в чём Вы видите разницу. Вы же в конце тоже самое написали, или я что-то не улавливаю
Ну вот разница: код который вы прислали предполагает наличие списка, мне хотелось бы обойтись без него. Просто из одной переменной скопировался текст в другую.

Смотрите:
project.Variables["login"].Value = project.Variables["accline"].Value.Split(':')[0];

Этот код берет из переменной "accline" первое в строке, где есть разделитель ":" и ложит в переменную "login". Очень удобно!
Я хотел что-то типа этого, но не знаю как указать разделитель который есть новая строка. Может есть какой-то символ, который обозначает переход на новую строку?
 
  • Спасибо
Реакции: arhip1985

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
есть, разделитель новой строки и перевода каретки есть, смотря какой текст у вас, т.е. разделитель - либо \n , либо \r\n
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
просто когда вы спрашиваете про списки, то и понимается в привычном для зенно понимании сущности - список, иначе надо писать - из переменной, в которой список строк
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
project.Variables["название переменной с необходимым номером"].Value - та самая переменная, тот самый номер строки, внутри этой переменной - Нужно, чтобы код извлек строку с номером например 2 (или какой укажу)
положил в конкретную переменную. - это я писал - в кубике c# есть в самом низу - галочка - не возвращать значение - её надо снять и дальше выбрать переменную куда положить возвращаемое значение
... project.Variables["название переменной с необходимым номером"].Value - та самая переменная, тот самый номер строки, внутри этой переменной - Нужно, чтобы код извлек строку с номером например 2 (или какой укажу)

Я вроде это понял.
Можно ограничиться только этой строкой кода?

... положил в конкретную переменную. - это я писал - в кубике c# есть в самом низу - галочка - не возвращать значение - её надо снять и дальше выбрать переменную куда положить возвращаемое значение

Это я тоже понял.

Если можно, что делает вот эта часть кода?
string num_str = Convert.ToString(project.Variables["Имя_переменной"].Value);

И вот эта?
return project.Lists["Имя_списка"].GetItem(0);
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
есть, разделитель новой строки и перевода каретки есть, смотря какой текст у вас, т.е. разделитель - либо \n , либо \r\n
Вот текст, который лежит в переменной:

Антенна
Водоотведение
Водоснабжение
ГВС
Природный газ
Содержание и ремонт жилья
ТБО утилизация
ТБО утилизация (кв.м.)
Теплоснабжение
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
делайте как вы делали ранее - project.Variables["login"].Value = project.Variables["accline"].Value.Split('\n')[0];
сплит я указал \n - это символ новой строки, но иногда надо указывать \r\n вместе с символом перевода каретки - это символ \r
 
  • Спасибо
Реакции: Vladimirvolga

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
просто когда вы спрашиваете про списки, то и понимается в привычном для зенно понимании сущности - список, иначе надо писать - из переменной, в которой список строк
Блин все заработало! Спасибо вам большое, вы мне помогли.
project.Variables["a10114_uslg"].Value = project.Variables["a0014_ND_uslg"].Value.Split('\n')[0];

Указал разделитель "\n", все работает.
:-)
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
  • Спасибо
Реакции: Vladimirvolga

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18
Здравствуйте! А как взять строку из списка с помощью регулярного выражения?
Например, мне нужна первая строка в списке, которая содержит/начинается с "http".
Можно ли это выполнить с помощью c#?
 

Mkayan

Client
Регистрация
04.08.2016
Сообщения
84
Благодарностей
6
Баллы
8
Отпишу здесь

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

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
306
Баллы
63
Отпишу здесь

Как взять с удалениям не одну строку а по диапазону и поместить всё строки в переменную ?
Самый простой вариант:
C#:
var zennoList = project.Lists["Мой зенно список"];
var range = new Random().Next(2, 5);

var lstTemp = new List<string>();

lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < range; i++)
    {
        if (zennoList.Count == 0) break;
        
        lstTemp.Add(zennoList[0]);
        zennoList.RemoveAt(0);
    }
}
project.Variables["result"].Value = string.Join("\n", lstTemp);
 
  • Спасибо
Реакции: iBotovod и artur23

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