Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654

Убрать из листа текст и записать в лист

12.01.2020, 05:17. Показов 618. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет,

Нужно убрать из каждого элемента листа ненужный текст и вернуть новые значения в лист.


Есть лист в одном из классов

C#
1
2
3
IList<Person> persons = dfdfdfasd;
 
IList <Person> newpersons = persons.StringCutter();


Есть другой класс

C#
1
2
3
4
5
6
7
8
9
10
11
12
static class Helper
    {
        public static IList<Person> StringCutter(this IList<Person> myNewPerson)
        {
            foreach (var item in myNewPerson)
            {
                string newitem = item.Text.Replace("Main", "");
            }
 
            return IList<myNewPerson> tempString;
        }
    }
Подскажите, пожалуйста, как это сделать?

Добавлено через 2 часа 1 минуту
Не знаю, пробую вот так

C#
1
2
3
4
5
                    for (int i = 0; i < persons.Count; i++)
                    {
                        if (persons[i].Text.Contains("Main"))
                            persons[i].Text.Replace("Main", "");
                    }
Но во внутрянке ничего не меняется....
А надо бы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2020, 05:17
Ответы с готовыми решениями:

Отличить 2 листа друг от друга. Недостающие элементы записать в 3 лист, лишние в 4
Есть 4 листа. Первый лист неизменный. Во втором листе может быть любое количество элементов, и элементы могут быть вообще самые...

Копирование данных с листа 1 на лист 3 при условии в лист 2
Помогите пожалуйста пересмотрел примеры решения на форуме. но не могу найти нужное. есть 3 листа с данными. на лист №1 идет прайс...

Копировать содержимое листа одной книги, на лист в новую книгу с присвоением ей имени листа из которого копировали
Всем доброго дня! Помогите пожалуйста написать код, сам не могу написать по причине отсутствия знаний. Есть книга с именем &quot;Заказы...

4
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,111
Записей в блоге: 2
12.01.2020, 05:45
antoniogrid, в C# строки НЕИЗМЕНЯЕМЫ!
И результат Replace это не изменение исходной строки , а НОВАЯ строка с изменёнными данными.
И эту новую строку надо где-то сохранить.
Цитата Сообщение от antoniogrid Посмотреть сообщение
Не знаю, пробую вот так
Можно упростить до
C#
1
2
3
4
5
                    for (int i = 0; i < persons.Count; i++)
//                    {
//                        if (persons[i].Text.Contains("Main"))
                            persons[i]=persons[i].Text.Replace("Main", "");
//                    }
2
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
12.01.2020, 10:58  [ТС]
Ну, если Вы говорите, что он неизменяемый, но по факту соглашаетесь и меняете, но на более простой вариант.
Или я не понял.
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
12.01.2020, 11:31
Цитата Сообщение от antoniogrid Посмотреть сообщение
но по факту соглашаетесь и меняете
Нет, создается новая строка. Так как System.String (псевдоним string) является классом, то переменная person[i] создержит ссылку на строку, которая перезаписывается ссылкой на вновь созданную методом String.Replace строку. Меняется ссылка на строку в переменной, что вызывает иллюзию того, что "строка изменилась".
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,111
Записей в блоге: 2
12.01.2020, 15:01
Цитата Сообщение от antoniogrid Посмотреть сообщение
Или я не понял.
Выше была сокращённая запись.

Полная запись такая
C#
1
2
3
4
5
6
7
8
9
                    for (int i = 0; i < persons.Count; i++)
                    {
        /// Получение НОВОЙ строки из старой с заменой подстрок 
                        string repl = persons[i].Text.Replace("Main", "");
 
        /// Присвоение полученной новой строки элементу массива
        /// Старая строка, если на неё больше нет ссылок, отправляется в мусор
                            persons[i]=repl;
                    }
Добавлено через 3 минуты
antoniogrid, такой пример вас же не удивляет.
C#
1
2
3
4
int x = 10;
x + 5; // Просто вычисление, но результат теряется
x = x + 5; // Вычисление и присвоение НОВОГО полученного значения той же переменной
x += 5; // Тоже самое в сокращённой записи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2020, 15:01
Помогаю со студенческими работами здесь

Как создать новый лист и импортировать данные с другого листа на новый лист
как создать новый лист и импортировать данные с другого листа на новый лист. Private Sub CommandButton1_Click() ' Создание...

Написать подпрограмму для вычисления для n=1.46 значений выражения,записать на лист текст.документа
Написать подпрограмму на VBA для вычисления для n=1...46 значений выражения \sum_{k=1}^{n}k^3 ,записать на лист текст.документа MS...

Убрать в файле все повторяющиеся символы и пробелы и записать новый текст в другой файл
Приветствую! Такая задачка: В файле есть текст. Необходимо из него убрать все повторяющиеся символы и пробелы и записать новый текст в...

Копирование с листа на лист
Помогите с копированием выборочных позиций с листа на лист. Исходные данные: лист2 на Лист3 нужно скопировать всё с листа2, кроме по...

Копирование с листа на лист
Здравствуйте уважаемые форумчане! У меня такая задачка никак не могу ее решить. Есть эксель с двумя листами, на одном коды номенклатуры,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru