Ваш пример кода и объяснение того, что вы хотите, сбивает с толку. Если вам нужен массив всех имен текстовых полей в форме:
string[] GetTexBoxNames()
{
var names =new List<string>();
for each(var c in this.Controls)
{
if(c is TextBox)
{
names.Add(c.name);
}
}
return names.ToArray();
}
Фраза «это» относится к форме. Если вы хотите выполнить этот расчет с другой стороны формы, замените это ключевое слово переменной, ссылающейся на него.
Вы также можете использовать выражение lamda, чтобы получить все текстовые поля в массиве в одном выражении.
var textBoxNames = this.Controls
.Where(i => i is TextBox)
.ToArray();
Еще одна вещь, которая вам может понадобиться - это словарь всех текстовых полей с их именами в качестве ключей. Вам это не нужно, если скорость поиска не критична, потому что вы можете использовать лямду для поиска текстового поля в конечном массиве, которое медленнее, чем поиск по словарю. Вы можете использовать простой цикл для просмотра всех текстовых полей и включения их в словарь по имени.
Вы, вероятно, можете редактировать этот код в соответствии с вашими целями, если я вас неправильно понял. Пожалуйста, уточните, и я обновлю этот ответ.