Давайте разделим задачу на два : генерируем простые числа (логики) и отображаем их в TextBox
(UI):
private static IEnumerable<int> Primes() {
yield return 2;
yield return 3;
List<int> primes = new List<int>() {3};
for (int value = 5; ; value += 2) {
int n = (int) (Math.Sqrt(value) + 0.5); // round errors for perfect squares
foreach (int divisor in primes) {
if (divisor > n) {
primes.Add(value);
yield return value;
break;
}
else if (value % divisor == 0)
break;
}
}
}
Теперь, кажется, вы хотите получить элементы списка с простыми индексами, т.е.
listBox1.Items[2], listBox1.Items[3], listBox1.Items[5],..., listBox1.Items[101], ...
Вы можете запросить Primes()
с помощью Linq
using System.Linq;
...
var results = Primes()
.Take(index => index < listBox1.Count)
.Select(index => $"Numar prim: {listBox1.Ites[index]}");
// Time to Join results into a single string
textBox2.Text = string.Join(Environment.NewLine, results);