Вы не можете изменить имя переменной во время выполнения, так как код (даже код c #) был скомпилирован с определенным именем переменной. Если бы вы могли изменить имя во время выполнения, это вызвало бы проблемы.
Например, если язык позволял изменять имена переменных, то при попытке доступа к переменной с именем 'var1' компилятор не имеет представления, изменилось ли имя переменной во время выполнения и теперь называется 'x'.
Что-то, что вы могли бы попытаться сделать, это позволить вашей программе динамически скомпилировать некоторый код, но это, вероятно, не правильное решение вашей проблемы. Если вы лучше объясните, что вам нужно, мы могли бы предоставить вам эффективное решение.
Надеюсь, это помогло
РЕДАКТИРОВАТЬ: Просматривая ваши издания, я могу вам сказать, что это невозможно с подходом, который вы используете в настоящее время. Я мог бы предложить вам следующее:
int i = 0;
List<ArrayList> masterList = new List<ArrayList>();
foreach (something)
{
masterList.Add(new ArrayList());
i++;
}
Если вам нужно, чтобы у каждого ArrayList было определенное имя, которое вы можете вспомнить, вы можете использовать словарь:
int i = 0;
Dictionary<string, ArrayList> masterList = new Dictionary<string, ArrayList>();
foreach (something)
{
masterList.Add("oArr" + i.ToString(), new ArrayList());
i++;
}
ArrayList al = masterList["oArr1"];