Well...it's a little obvious.
What does this code do:
int value = 0;
for (int i = 1; i < 10; i++)
{
value = i;
}
Console.WriteLine(index);
Answer: it prints "9".
Why? Because an integer can contain only one value, so when you say:
value = i;
you discard the previous version.
Now, your code does the same:
foreach (var myscore in top10) {
string myresult = myscore.Score.ToString();
secondscore.Text = myresult;
}
Both MyResult and secondscore.Text are strings, so when you assign them a new value, you discard every previous one.
Exactly what you want to do, I'm not sure, but just changing it to:
foreach (var myscore in top10) {
string myresult = myscore.Score.ToString();
secondscore.Text += myresult;
}
will show you what I mean.