Citat:
Ursprungligen postat av
callecarl
Tjena MeanMe!
Jag förstår vad du menar med din kod. Tyvärr går de inte lösa då de returnerade värdet måste vara en " [,] ". Alltså en 2D array.
Den säger bara (just på raden return a[IndexA0, IndexA1]..... att de inte går omvandla en int till en int[])
Så jag måste troligen spara den i en [,] (eller?)..
För sen returnera den 2D arrayen
Du gör så här:
minArrayC[0, 0] = AddArrays( minArrayA, minArrayB, 0 , 0, 0, 0);
minArrayC[0, 1] = AddArrays( minArrayA, minArrayB, 0 , 1, 0, 1);
minArrayC[1, 0] = AddArrays( minArrayA, minArrayB, 1 , 0, 1, 0);
minArrayC[1, 1] = AddArrays( minArrayA, minArrayB, 1 , 1, 1, 1);
Eller om du vill skicka hela vektorn får du definiera om din metod.
Som du skriver den nu:
public int addArrays(int[,] a, int[,] b)
så returnerar du ju en int.
Vill du att den skall returnera en array får du definiera om den till:
public int[,] addArrays(int[,] a, int[,] b)
då returnerar den en 2D array i return och koden blir enligt följande:
public int[,] addArrays(int[,] a, int[,] b)
{
int[,] c = new int[2, 2];
c[0, 0] = a[0, 0] + b[0, 0];
c[0, 1] = a[0, 1] + b[0, 1];
c[1, 0] = a[1, 0] + b[1, 0];
c[1, 1] = a[1, 1] + b[1, 1];
return c;
}
Anropas då enligt:
minArrayC = addArrays(minArrayA, minArrayB)