Переменные не могут быть динамически названы по вашему желанию, но используя массивы или списки (но не используйте ArrayLists , подробнее ниже!), Вы можете получить доступ через индексы.
Создать List<Enemy>
(List<T>
находится в System.Collections.Generic)
var enemies = new List<Enemy>();
enemies.Add(new Enemy()); // add as many as you need
Или, если коллекция не нуждается в динамическом размере, вы можете использовать простой массив, из которого естьнесколько юридических синтаксисов для создания.
Enemy[] enemies = { new Enemy(), new Enemy(), new Enemy() };
Затем вы можете написать свой цикл и получить доступ через index
// enemies.Count if using List<Enemy>
// enemies.Length if using Enemy[] array
for (int index = 0; index < enemies.Count; index++)
{
enemies[index].FireWeapon();
}
Или написать цикл foreach
foreach (Enemy enemy in enemies)
{
enemy.FireWeapon();
}
Ваше представление об использовании ArrayList
устарело, начиная с C # 2.0+ (текущий выпуск на рынке - C # 4.0) или Visual Studio 2005 (2010 - текущая рыночная версия).Предпочтительнее использовать строго типизированные универсальные коллекции, найденные в вышеупомянутом пространстве имен System.Collections.Generic.