Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.11.2014, 19:24   #1
nick_whale1004
Новичок
Джуниор
 
Регистрация: 26.11.2014
Сообщений: 3
Печаль Replace(); - почему не работает?

Ребят, я уже отчаялся. Делаю прогу для нашего школьного (да, я школьник, не обзываться, плиз) кружка программистов, которая считает рейтинг участников. Приложение на WF, а проблема вот в чем - есть метод, который обрабатывает файл с участниками (пародия на бд), их id и рейтинг (событие клика на кнопку). Если цикл находит среди id участников заданный в tb, то меняет его на значение из другого tb. Вот здесь и беда - переменная myText не изменяется в результате действия функции Replace(), хотя breakpoint'ом проверил, что все значения переменных и аргументы в порядке. Что делать, выручайте...
Код:
private void ChangeRaiting_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(textBoxID.Text);
            int howMuch = Convert.ToInt32(textBoxN.Text);
            bool plus;

            if (radioButton1.Checked)
                plus = true;
            else
                plus = false;

            StreamReader srData = new StreamReader(fiData.FullName);

            // ! 1 Max 15* ! 2 Gosha 14* ! 3 Arash 17* -вид строки

            myText = srData.ReadLine();

            string[] myStrings = myText.Split('*');

            Person[] people = new Person[myStrings.Length];

            for (int i = 0; i < myStrings.Length - 1; i++)
            {
                people[i] = new Person();

                string[] myValues = myStrings[i].Split(' ');

                people[i].id = Convert.ToInt32(myValues[2]);
                people[i].name = myValues[3];
                people[i].raiting = Convert.ToInt32(myValues[4]);

                if (people[i].id == id)
                {
                    if (plus)
                    {
                        myText.Replace(("" + people[i].raiting + "*"), ("" + (people[i].raiting + howMuch) + "*"));
                        MessageBox.Show(myText);
                    }
                    else
                        myText.Replace("" + people[i].raiting + "*", "" + (people[i].raiting - howMuch) + "*");
                }
            }

            srData.Close();

            people[0].Upload(myText);
        }    
    }

Последний раз редактировалось Stilet; 26.11.2014 в 21:48.
nick_whale1004 вне форума
Старый 26.11.2014, 21:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
переменная myText не изменяется в результате действия функции Replace()
Этжнадож... Сам же на свой вопрос и ответил.
Цитата:
myText.Replace("" + people[i].raiting + "*", "" + (people[i].raiting - howMuch) + "*");
А ну ка внимательно присмотрись - Replace, это функция, как ты верно подметил. А функция должна... что? Возвраща-а-ать... Что? Ре...Зуль...
Ну? Допер?
I'm learning to live...
Stilet вне форума
Старый 26.11.2014, 22:05   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да это ж дубль http://programmersforum.ru/showthread.php?t=269165
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 26.11.2014, 22:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

От черт...
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Replace(); - почему не работает? nick_whale1004 C# (си шарп) 2 26.11.2014 19:29
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 19:36
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 12:04
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46