Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan tudok egy...

C#-ban hogyan tudok egy rendezett tömböt (property alapján) megfordítani (reverse)?

Figyelt kérdés

egy List tömbről lenne szó. Tehát ezt :


c = c.OrderBy(x=>x.valami).ToList();


akarom reversézni.



2014. ápr. 17. 11:21
 1/9 anonim ***** válasza:
.Reverse() a végére esetleg?
2014. ápr. 17. 13:10
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Ha az első megoldása nem jó(szerintem de :D) akkor írhatsz rá algoritmust te is:


Osztály[] Fordított = new Osztály[c.Length]; // Lista is jó természetesen, akkor meg csak Add-olod.

for(int i = 0; i < c.Length / 2; i++)

{

Fordított[i] = c[c.Lenght - i];

}

2014. ápr. 17. 14:16
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

Sikeresen elrontottam, a for ciklus így kell kinézzen:


for(int i = 0; i < c.Length; i++)

2014. ápr. 17. 14:17
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

c = c.OrderBy(x=>x.valami).ToList().Reverse();


nem működik xd

2014. ápr. 17. 15:32
 5/9 Piert ***** válasza:

Szia!


Próbálozz ezzel: Array.Sort(A); Array.Reverse(A); Amúgy meg érdekesen magyarosítod a szakkifejezéseket :) Ezen a reversézésen kacagnom kellett.

2014. ápr. 18. 17:27
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

azzal próbálkoztam, de nekem egy osztályomban lévő egyik elemét(vagy tulajdonságát) kéne rendeznem. Meg lehet úgy is csinálni h berakom egy sima tömbe, és úgy rendezem, de akkor nem tudnék a többi tulajdonságára hivatkozni, pedig nekem rendezetten ki kéne írnom azokat is mellette. Ezért nem jó a sima Sortot Reverzés dolog. Igen amúgy fogalmakkal hadi lábon állok mivel magamtól tanulok programozni itthon :)


tehát csinálok példényokat

szék valami = new szék(hinteszék,4)

szék valami = new szék(simaszék,2)

szék valami = new szék(másfajta,3)


rendezem a melletük lévő számokat, és utána meg kéne cserélnem mert amúgy rossz sorrendbe írja ki ha simán rendezem, és ki kéne írnom utána a szék neveit is rendezetten mellette mondjuk. Sima tömbbökkel hosszú lenne megcsinálni, ezért is találták ki az OOP-t egyrészt.

2014. ápr. 19. 07:10
 7/9 Piert ***** válasza:

Szia!


Ha objektumtömböt rendezel, attól még el fogod tudni érni az egyes tagok tulajdonságait. Így viszont nem egészen értem a problémád. Amúgy itt egy megoldás: var sorted=array.OrderBy(item => item.property);

De ha már itt tartunk, előbb lehet, ezeket kéne inkább megtanulnod és nem lambda-kifejezéseket írni. És a fogalmakat inkább használd magyarul de ne az angol megfelelőt próbáld a magyar nyelvtan szerint ragozni, kérlek.

2014. ápr. 19. 12:04
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:

var sorted=array.OrderBy(item => item.property);


ezzel csak simán rendezem nem? nekem fordítani kéne csökkenő <-> növekvő Vagy növekvő <-> csökkenő

2014. ápr. 23. 20:11
 9/9 A kérdező kommentje:

Köszönöm mindenkinek a segítséget, ennyire egyszerűen nem tudom volna fogalmazni mint ahogy fogalmaztam, mégse értettétek mit akarok :D


OrderByDescending lett volna a helyes megoldás ... -.-" erre lettem volna kíváncsi, most már mind1, megkérdeztem ismerősömet, és elárulta a nagy titkot.

2014. máj. 5. 12:13

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!