我是编程新手,但我已经学过python课程并且一直在学习C#。我确实意识到这个问题已得到解答,但我无法理解答案。
编辑:对不起,我会尝试更详细地解释我的问题。在新方法中,我想创建一个包含2D阵列CPU中所有值的3D数组。所以我希望将CPU传递给新方法,以便将其复制到新的3D数组中,然后修改其内容。所以我有一个方法......
public string pickRoles(string name)
我有这个数组
string[,] CPU = new string[6, 2]
{
{ (names[index]), (cpu_1_role) },
{ (names[index]), (cpu_2_role) },
{ (names[index]), (cpu_3_role) },
{ (names[index]), (cpu_4_role) },
{ (names[index]), (cpu_5_role) },
{ (names[index]), (cpu_6_role) },
};
return CPU[6, 2];
如何将数组复制到新方法中,以便在那里使用?什么时候应该创建一个新类而不是一堆方法?请为我详细解释答案。谢谢!
答案 0 :(得分:1)
问题很混乱,但如果要返回数组并在其他方法中使用它,请将pickRoles
的返回类型更改为string[,]
:
public void Foo()
{
string[,] CPU = pickRoles("Foo");
}
public string[,] pickRoles(string name)
{
string[,] CPU = new string[6, 2]
{
{ (names[index]), (cpu_1_role) },
{ (names[index]), (cpu_2_role) },
{ (names[index]), (cpu_3_role) },
{ (names[index]), (cpu_4_role) },
{ (names[index]), (cpu_5_role) },
{ (names[index]), (cpu_6_role) },
};
return CPU;
}
答案 1 :(得分:0)
如何将数组复制到新方法中,以便在那里使用?
你的意思是如何返回数组?
您必须写出正确的返回类型:
public string[,] pickRoles(string name)
要返回整个数组,必须在这种情况下返回指针:
return CPU;
答案 2 :(得分:0)
如果在类中声明了方法,并且您的数组是该类的成员,那么您的方法应该能够直接访问该成员。如果它们不在同一个类中,则可以将数组作为参数传递给方法。如果你的方法应该产生一个数组,那么你可以通过改变返回类型来返回它。
顺便说一句,我猜你正在尝试做的就是使用字符串名称关联的cpu_ x _role。那是对的吗?如果是这种情况,您可能希望查看Dictionary而不是2D数组。