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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2017, 04:02   #1
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию Почему не меняет как надо ?

Крч такой код:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            string st = "bcd";
            string al = "aaa9";
            for (int i = 0; i < st.Length; i++)
            {
                string string1 = al.Replace(al[0], st[i]);
                Console.WriteLine(string1);
            }
            Console.ReadKey();
        }
    }
}
Почему то он меняет так что выводить bbb9 ccc9 ddd9 но мне надо чтобы он менял только конкретный знак, то есть если прописать на ноль то будет типа так: baa9 caa9 daa9 (к перебору это не имеет никакого отношения!) Просто понять не могу что не так...
komra2 вне форума Ответить с цитированием
Старый 26.01.2017, 05:44   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Потому что replace работает так: "Возвращает новую строку, в которой все вхождения заданной строки в текущем экземпляре заменены другой заданной строкой.". Заменить только первое вхождение можно разными способами (взятыми со стековерфлоу): с помощью Regex.Replace; с использованием IndexOf и Substring; с использованием IndexOf, Remove, Insert.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 26.01.2017, 06:11   #3
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Substring пробовал, одно и тоже выводит...
шо это такое "стековерфлоу"?
А вот про последние три и regex я не подумал.
komra2 вне форума Ответить с цитированием
Старый 26.01.2017, 10:42   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)
Цитата:
(к перебору это не имеет никакого отношения!)
слово перебор имеет более широкий смысл. не обязательно это подбор.
тупо перебор вариантов тоже смысл этого слова.
2)если вам надо менять символ, меняйте конкретный символ, в чем проблема то?
Цитата:
Сообщение от komra2 Посмотреть сообщение
Substring пробовал, одно и тоже выводит...
плохо пробовали.

Цитата:
Сообщение от komra2 Посмотреть сообщение
шо это такое "стековерфлоу"?
сайт такой.

загоните ваш шаблон в StringBuilder чтоли. там можно менять по индексу по символу, ну или char[]
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить кто меняет дату? Utkin Софт 4 25.12.2013 21:52
Не меняет символ в строке, почему так? Platinum Master Общие вопросы по Java, Java SE, Kotlin 3 13.05.2013 14:01
java, не меняет символ в строке, не могу понять почему Platinum Master Помощь студентам 6 07.05.2013 18:58
struct почему ошибка? и как надо? Madmaxisss Visual C++ 13 04.08.2012 21:39
задача поменять в массиве max элемент с первым, но меняет как то не так.. почему? Валюшка Помощь студентам 2 21.01.2009 01:46