Kezdőoldal » Számítástechnika » Programozás » Hogy tudok C#-ban egy metódusb...

Hogy tudok C#-ban egy metódusban visszaadni egy tömböt, hogy ha a tömb mérete nem konstanst, és azt egy másik metódus számolja ki, amit az első nem lát?

Figyelt kérdés
Paraméterként ugye nem enged bevinni konstans értéket, visszaadni viszont üresen vagy váltózókkal megadva nem lehet, kell hogy legyen neki konkrét mérete.

2016. nov. 27. 18:24
 1/9 anonim ***** válasza:
Abszolút semmi értelme nincs a kérdésnek.
2016. nov. 27. 18:35
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

public static int függvény(int[,] tömb)

{

.

.

.

return tömb[,];

}


"Syntax error, value expected"



return tömb[i,j];


"The name i/j does not exist in the current folder"

2016. nov. 27. 19:24
 3/9 anonim ***** válasza:
ha a tömb mérete nem konstans, használj valami dinamikus adatszerkezetet
2016. nov. 27. 19:53
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
Még nem vettünk olyat egyetemen, így nem is használható más, csak tömb a beadandóban.
2016. nov. 27. 20:23
 5/9 anonim ***** válasza:

Ne haragudj, de ettől a kódtól mit vártál mégis, egy darab jó sor nincs benne.

C#-ban nem kell a tömbnek konstans méretűnek lennie, de attól a szintaxist ismerni kell.

Például ne akarj tömböt visszaadni, ha a visszatérési értéket int-nek definiáltad, vagy hogy return után a változó neve vagy egy új objektum szerepelhet.

2016. nov. 27. 20:43
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Miért, mit kéne megadnom visszatérési értéknek egy int típusú tömb esetén?


"return után a változó neve vagy egy új objektum szerepelhet."

Nem értem mire gondolsz. Return után egy változó szerepel, a tömb nevű két dimenziós tömb.


A probléma még mindig ugyanaz. A tömb mérete nem ebben a függvényben van definiálva, de változókkal vagy üresen nem engedi visszaadni.

2016. nov. 27. 21:06
 7/9 anonim ***** válasza:

"Miért, mit kéne megadnom visszatérési értéknek egy int típusú tömb esetén?"

int típusú tömböt.

A te esetedben:

public static int függvény(int[,] tömb)


""return után a változó neve vagy egy új objektum szerepelhet."

Nem értem mire gondolsz. Return után egy változó szerepel, a tömb nevű két dimenziós tömb."

Nem nem az szerepel.

"return tömb[,];" szerepel "return tömb;" helyett


"A probléma még mindig ugyanaz. A tömb mérete nem ebben a függvényben van definiálva, de változókkal vagy üresen nem engedi visszaadni."

"return tömb[,];"

Ez nem üresen adja vissza a tömböt, nagy tévedés, ez szimplán szintaktikailag hibás.

"return tömb[i,j];"

Ez meg a tömb egy eleme lenne, ha az i és j definiálva lenne, de a fordító egyébként mindkét hibát elég egyértelműen jelezte.

Az még mindig nem tiszta igazából nekem, hogy mit szeretnél csinálni ebben a fügvénnyel a bemenetként kapott tömbbel.

2016. nov. 27. 22:16
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Ha máshogy nem érted, itt egy példa:

public int[] Foo1(int[] tomb)

{

return tomb;

}


- így adod meg neki, hogy milyen típussal térjen vissza: public int[] Foo1 - te sima int-et írtál, magyarul egy számmal fog visszatérni, nem egy tömbbel.

- így meg visszatérési értéket adsz meg: return tomb; - a tömbödnek van neve is, ezt kell visszadobni.

2016. nov. 27. 23:59
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

Summázzuk a dolgokat:


Ha (kétdimenziós) integer tömböt akarsz visszaadni a függvényedben, akkor a visszatérési értéke (kétdimenziós) integer tömb legyen, ne integer. A 'közhiedelemmel' ellentétben ehhez nem kell előre tudnod a tömb méretét:


int[,] SomeMethod(){}


Ha van egy int[,] tömb; változód, akkor arra (minő meglepetés) úgy hivatkozol, hogy tömb, nem úgy, hogy tömb[,]. Tudja a fordító magától is, hogy tömb, elvégre annak van deklarálva.


Az, hogy a tömböd mekkora, sem a paraméterlistában, sem a visszatérésben nem fontos, a C# számára a tömb az tömb, nem érdekli, hány elemből áll.


Tehát az általad vizionált függvény valahogy így néz ki:


public static int[,] függvény(int[,] tömb)

{

.

.

.

return tömb;

}

2016. nov. 28. 04:16
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!