C# c中的一个变量在另一个变量中#

C# c中的一个变量在另一个变量中#,c#,arrays,instantiation,C#,Arrays,Instantiation,我需要做一些像这样的东西 class Warrior{ public String weapon; public String armor; } String[] SublimeArray = new String[5]; for(int x = 0; x <= SublimeArray.Length; x++){ Warrior aquiles(x) = new Warrior(); SublimeArray[x] = aquile

我需要做一些像这样的东西

class Warrior{
   public String weapon;
   public String armor;
}

String[] SublimeArray = new String[5];
for(int x = 0; x <= SublimeArray.Length; x++){

         Warrior aquiles(x)  = new Warrior();
         SublimeArray[x]  = aquiles(x);

}

//It give me something like that....
//   Warrior aquiles1 = new Warrior();
//   SublimeArray[1] = aquiles1;
//   Warrior aquiles2 = new Warrior();
//   SublimeArray[2] = aquiles2;
//   Warrior aquiles3 = new Warrior();
//   SublimeArray[3] = aquiles1;
//            .
//            .
//            .
职业战士{
公共弦武器;
公共弦甲;
}
String[]submitarray=新字符串[5];

对于(intx=0;x来说,看起来您混淆了变量的命名,并给对象一个所谓的“名称”

在创建
Warrior
对象时,不需要存储每个对象(
Warrior
)使用新的变量名,因为您将从数组中访问它们。我的意思是,不要尝试这样命名每个新的
Warrior
:aquiles1、aquiles2等。您只需直接在数组中创建它们,然后从那里访问它们

因此,为了创建
Warrior
s数组,您可以执行以下操作:

Warrior[] SublimeArray = new Warrior[5];
for(int x = 0; x <= SublimeArray.Length; x++){
     SublimeArray[x]  = new Warrior();
}
SublimeArray[0].Weapon = "Dragon Halberd";
或者,要访问最后一个:

SublimeArray[4].Armor = "Rune Plate Armor";
如您所见,您不需要给每个
Warrior
一个新的变量名,您只需要通过数组访问它们


我应该注意,我将属性名(武器和装甲)大写,因为公共属性的标准命名约定是PascalCase。

var subgramarray=Enumerable.Range(0,5)。Select(I=>new Warrior()).ToArray();
?为什么不使用Warrior类型的数组?