Если не переопределено, ToString()
покажет вам имя типа объекта.В вашем случае будет отображаться имя типа List<int>
:
System.Collections.Generic.List`1 [System.Int32]
Если вы хотите отобразитьсодержимое списка, вы должны создать строку вручную.Например,
var formattedPattern = String.Join(", ", pattern); // "2, 1, 3, 2"
MessageBox.Show(formattedPattern );
Если вы хотите показывать отдельные элементы списка на каждой итерации, вы можете ссылаться на них по индексу, как подсказывает @MikeH, или просто использовать временную переменную для этого
var nextNumber = number.Next(1, 4);
pattern.Add(nextNumber);
MessageBox.Show(nextNumber.ToString());