声明一个新的类元素
本文关键字:元素 一个 声明 | 更新日期: 2023-09-27 18:04:41
我对这段代码有一些问题。我很感激你的帮助。
class Alpha{
string Name;
public Alpha(string name){
this.Name = name;
}
}
class Beta{
Alpha[] alpha_array;
string Name;
public Beta(Alpha[] alpha_array, string name){
this.Alpha_array = alpha_array;
this.Name = name;
}
}
static void Main(){
Beta betas = new Beta[10];
for(int i = 0; i < betas.Length; i++){
betas[i] = new Beta(new Alpha[1], "Bob");
betas[i].alpha_array = new Alpha("George");
Console.WriteLine(betas[i].alpha_array.Name);
}
}
这里有什么问题?我将使用这段代码,但是当我尝试访问alpha_array时,beta数组没有alpha_array元素。如何做这件事,我自己想不出来。
谢谢你的帮助
你的代码中有几个错误:
如果没有指定访问修饰符,所有字段都是private
。你应该把它们变成public
。例子:
class Alpha{
public string Name;
public Alpha(string name){
this.Name = name;
}
}
class Beta{
public Alpha[] alpha_array;
public string Name;
public Beta(Alpha[] alpha_array, string name){
this.Alpha_array = alpha_array;
this.Name = name;
}
}
您正在尝试将Alpha
的实例分配给Alpha
的Array
:
betas[i].alpha_array = new Alpha("George");
我认为你想要的是:
for(int i = 0; i < betas.Length; i++){
betas[i] = new Beta(new Alpha[]{ new Alpha("George")}, "Bob");
Console.WriteLine(betas[i].alpha_array[0].Name); // prints George
}