есть строка с текстом вида "D15 D7 B12 String..." как привести к нормальному виду так что бы не прописывать миллион Replace();
Replace("D1", "1").Replace("D22", "22").Replace("String", "Новая Строка").Replace("Enter","С новой строки");
можно ли как то занести в массивы или перечисления все приходящие значения и все отредактированные а потом просто в цикле заменять первые на вторые?
Например, передавать коллекцию классов.
public static class StringExt
{
public static string Replace(this string str, IEnumerable<ReplaceItem> items)
{
foreach (var item in items)
str = str.Replace(item.Old, item.New);
return str;
}
}
public class ReplaceItem
{
public string Old { get; set; }
public string New { get; set; }
}
Использование:
"asfasf".Replace(new[] { new ReplaceItem { Old = "old1", New = "new1" },
new ReplaceItem { Old = "old2", New = "new2" }});
Попробуй посмотреть в сторону расширений и ключевого слова params. Что то вроде:
public static class StringExtensions
{
public static string Replace(this String str, params string[] args)
{
string result = str;
for(int i=0; i<args.Length-1; i+2){
result = result.Replace(args[i], args[i+1]);
}
return result;
}
}
Обязательно сделай все необходимые проверки на четность и наличие аргументов.
Вот такое решение с использованием словаря отлично работает. Кому интересно что б не писать портянку из replace
Dictionary<string, string> RusDict = new Dictionary<string,string>();
RusDict.Add("command","новая команда ");
RusDict.Add("delete","удалить");
//==============//
var value = string.Empty;
foreach (var keys in RusDict.Keys)
{
RusDict.TryGetValue(keys, out value);
if (RusDict.ContainsKey(textBox2.Text))
{
if (textBox2.Text == keys)
{
textBox2.Text = value;
}
}
}
if (!RusDict.ContainsKey(_key))
{
textBox2.Text = "Нет значения в словаре";
}
тему можно считать закрытой.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как измерить скорость загрузки файла при использовании webClientDownloadFileTaskAsync? Предчувствую сильную зависимость вычислений от загруженности...
Привязываю значение слайдера к позиции видео в медиаэлементеКак бы привязка верно сделана но не работате
Добрый день, пишу арканоид, как учебную программу, столкнулся с такой проблемой, как сделать движение шарика? как можно прописать вектор движения?...