Неправильный вывод в richTextBox
//вывод результата
int totalWeight = 0;
foreach (Edge edge in MinimumSpanningTree)
{
totalWeight += edge.Weight;
Console.WriteLine("Вершина {0} до вершины {1} вес является {2}", edge.Vertex1, edge.Vertex2, edge.Weight);
}
Console.WriteLine("Загальний вес: {0}", totalWeight);
Console.ReadLine();
}
У меня консольная программа выводит все нормально
foreach (Edge edge in MinimumSpanningTree)
{
totalWeight += edge.Weight;
richTextBox1.Text = richTextBox1.Text + ("Вершина ${0} до вершины {1} вес является: {2}", edge.Vertex1, edge.Vertex2, edge.Weight) + System.Environment.NewLine;
}
richTextBox1.Text = richTextBox1.Text + ("Загальний вес: {0}", totalWeight) + System.Environment.NewLine;
}
Но когда я переделал ее в оконный приложение, и вывожу в richTextBox, все как-то криво
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Можно использовать интерполяцию строк.
foreach (Edge edge in MinimumSpanningTree)
{
totalWeight += edge.Weight;
richTextBox1.Text += $"Вершина {edge.Vertex1} до вершины {edge.Vertex2} вес является: {edge.Weight}{Environment.NewLine}";
}
richTextBox1.Text += $"Загальний вес: {totalWeight}{Environment.NewLine}";
Или string.Format().
foreach (Edge edge in MinimumSpanningTree)
{
totalWeight += edge.Weight;
richTextBox1.Text += string.Format("Вершина {0} до вершины {1} вес является {2}{3}", edge.Vertex1, edge.Vertex2, edge.Weight, Environment.NewLine);
}
richTextBox1.Text += string.Format("Загальний вес: {0}{1}", totalWeight, Environment.NewLine);
Второй удобнее там, где вам в строке надо повторить одно и то же значение несколько раз.
string text = string.Format("{0} {1} {0} {1} {2} {2} {0}", "раз", "еще", "много");

