Kezdőoldal » Számítástechnika » Programozás » [C#] Hogyan kell két listát...

[C#] Hogyan kell két listát összehasonlítani?

Figyelt kérdés

Van 2 stringeket tartalmazó listám, az egyik egy nagyobb halmaz (A), a másik kisebb (B). Olyan feltételt szeretnék írni, ami akkor ad igazat, ha a B lista elemei közül valamelyik (bármelyik, de nem az összes egyszerre!) benne van A-ban.

Eddig jutottam, de ez nem jó így, mert teljesen mindegy milyen elemek vannak B-ben, mindig belelép az if-be.


if ( A.Except(B).Any() ) {

...

}



2016. jan. 25. 14:59
 1/5 anonim ***** válasza:
Én ciklussal mennék B elemein addig, amíg végig nem érek vagy nem találtam olyat, amire A.contains(B[i]).
2016. jan. 25. 15:15
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Én ezt úgy csinálnám meg, hogyha legalább 1-nek benne kell lennie, de az összes nem lehet benne.


int összesen_ennyi_van_a_ban = 0 //ezzel számolom, hogy hány elem van meg a-ban b-ből


végigmegyek b összes elemén, és megvizsgálom, hogy benne van e.

ha benne van, akkor összesen_ennyi_van_a_ban++

amikor végzett b összes elemének vizsgálatával, akkor

ha b elemszáma != összesen_ennyi_van_a_ban akkor igaz



aztán ezen lehet még finomítani, hogy figyelem, ha volt már egy b elem a-ban, és a mostani nincs, akkor a többi b elemet felesleges vizsgálni, mert már nem befolyásolja az eredmény, ugyanis van legalább 1 ami benne van, és 1 ami nincs

2016. jan. 25. 15:27
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Biztos, hogy a lista a megfelelő adatszerkezet?

Nem lenne jobb a halmaz, hiszen eleve a halmaz szót használod már a kérdésben is.

2016. jan. 25. 16:07
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Egyébként:

[link]

2016. jan. 25. 16:19
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Köszönöm a válaszokat, mivel gyorsan kellett egy megoldás, így most az #1-#2-ben leírt módon csináltam.


Halmazokkal még nem igazán dolgoztam, úgy tűnik itt valóban hatékonyabb lenne, lehet át fogom írni, egyszerűbbnek tűnik.

2016. jan. 25. 18:09

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!