Просто выполните следующее:
yourRichTextBox.Text = yourRichTextBox.Text.Replace("e","ea");
Если вы хотите сообщить количество совпадений (которые заменены), вы можете попробовать использовать Regex
следующим образом:
MessageBox.Show(Regex.Matches(yourRichTextBox.Text, "e").Count.ToString());
Конечно, использование вышеописанного метода имеет дорогостоящую стоимость в памяти, вы можете использовать некоторый цикл в сочетании с Regex
, чтобы достичь своего рода усовершенствованного механизма замены следующим образом:
public void ReplaceAll(RichTextBox myRtb, string word, string replacement){
int i = 0;
int n = 0;
int a = replacement.Length - word.Length;
foreach(Match m in Regex.Matches(myRtb.Text, word)){
myRtb.Select(m.Index + i, word.Length);
i += a;
myRtb.SelectedText = replacement;
n++;
}
MessageBox.Show("Replaced " + n + " matches!");
}
C # 7 представляет кортежи , поэтому вы можете сделать это:
var list = new List<(int id, string name)>();
list.Add((3, "Bob"));
var (id, name) = list[0];
var entry = list[0];
string s = $"{entry.name} has ID {entry.id}";
foreach (var (id, name) in list)
{
}
До C # 7 вы можете использовать старый тип Tuple
, который немного более грязный: [ 115]
var list = new List<Tuple<int, string>>();
list.Add(Tuple.Create(3, "Bob"));
foreach (var item in list)
{
int id = item.Item1;
string name = item.Item2;
}
Также вы можете сделать это следующим образом:
var list = new[] { new { Id = 1, Name = "name" } }.ToList();
list.Add(new { Id = 2, Name = "name2" });
foreach (var item in list)
{
int id = item.Id;
string name = item.Name;
}
Ссылки: Анонимные типы , Массивы с неявным типом , Метод расширения ToList
В c # 7.0 и выше вы можете использовать кортежи значений - синтаксис практически идентичен:
var items = new List<(int id, string name)>();