Инициализируйте список < T > со встроенным определением < T >

Просто выполните следующее:

yourRichTextBox.Text = yourRichTextBox.Text.Replace("e","ea");

Если вы хотите сообщить количество совпадений (которые заменены), вы можете попробовать использовать Regex следующим образом:

MessageBox.Show(Regex.Matches(yourRichTextBox.Text, "e").Count.ToString());

UPDATE

Конечно, использование вышеописанного метода имеет дорогостоящую стоимость в памяти, вы можете использовать некоторый цикл в сочетании с 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!");
}
5
задан Panagiotis Kanavos 22 February 2019 в 12:17
поделиться

3 ответа

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;
}
0
ответ дан canton7 22 February 2019 в 12:17
поделиться

Также вы можете сделать это следующим образом:

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

0
ответ дан SᴇM 22 February 2019 в 12:17
поделиться

В c # 7.0 и выше вы можете использовать кортежи значений - синтаксис практически идентичен:

var items = new List<(int id, string name)>();
0
ответ дан Zohar Peled 22 February 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: