Вам нужен способ ссылки на элементы управления RadioButtonList, которые соответствуют языкам. У вас есть строковый массив, поэтому одним из способов было бы использовать FindControl, но это не было бы моим предпочтением.
Другой способ будет:
var languageControls = new List<RadioButtonList> { rblCSharp, rblVbNet, rblVbClassic, rblCrystal, rblSsrs, rblSql2005, rblUiWeb };
foreach(var rbl in languageControls)
{
rbl.Items.Clear();
// this could be a foreach instead, but I kept your original code
for (int i = 0; i < level.GetLength(0); i++)
{
rbl.Items.Add(level[i]);
}
rbl.RepeatDirection = RepeatDirection.Horizontal;
}
Подход FindControl (это имеет смысл, только если вы динамически создали и добавили элементы управления RadioButtonList, а не были доступны в разметке и с помощью IntelliSense)
string[] level = {"Expert", "Proficient", "Limited Experience", "No Experience"};
string[] language = { "CSharp", "VbNet", "VbClassic", "Crystal", "Ssrs", "Sql2005", "UiWeb" };
foreach (string lang in language)
{
RadioButtonList rbl = (RadioButtonList)FindControl("rbl" + lang);
if (rbl == null)
continue; // keep going through the rest, or throw exception
rbl.Items.Clear();
// this could be a foreach instead, but I kept your original code
for (int i = 0; i < level.GetLength(0); i++)
{
rbl.Items.Add(level[i]);
}
rbl.RepeatDirection = RepeatDirection.Horizontal;
}