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类型的数组?