Короткий ответ : (Label)
- это явное преобразование типа и if
с is
-оператором , чтобы сделать его безопасным.
Более длинный ответ : Здесь приведена закомментированная и очищенная версия вашего кода (удалены ненужные переменная randomNumber
и else
-ответ:
// Declare variable label, which has type Label. It's value is null here.
Label label;
// Loop as many rounds than there are items in tableLayoutPanel1.Controls - collection
for (int i = 0; i < tableLayoutPanel1.Controls.Count; i++)
{
// When looping, i has value 0,1,2,3 depending on for loop round
// Check if tableLayoutPanel1.Controls-collection has item at position i
// which has type compatible with Label. C# operator "is" is used.
if (tableLayoutPanel1.Controls[i] is Label)
{
// It is safe to make explicit type conversion to Label
// and set reference to label-variable
label = (Label)tableLayoutPanel1.Controls[i];
}
}
Результатом фрагмента является то, что переменная метки имеет ссылку на последний элемент в tableLayoutPanel1.Controls-collection, тип которого совместим с Label.