Diskuze: porovnanie dvoch listov vo vb.net

C# .NET .NET (C# a Visual Basic) porovnanie dvoch listov vo vb.net American English version English version

Aktivity (3)
Avatar
3012
Člen
Avatar
3012:2. července 22:51

Dobrý deň, chcel som sa opýtať, či vo VB existuje niaky spôsob ako zobrať dva listy a zisťiť či sú zhodné, alebo nie napr. takto:

if list1 = list2 then
console.writeline("zhodujú sa")
else
console.writeline("nezhodujú sa")
end If

tento formát samozrejme ňefunguje a ja bys som chcel vedieť či sa v listoch dajú porovnavať len piložky, alebo aj celé zoznamy.

Chcem to použiť pre porovnanie dvoch textových súborov, z ktorých som načítal dáta do listu, každý riadok ako jednu položku v ňom.

Za odpovede ďakujem.

 
Odpovědět 2. července 22:51
Avatar
Odpovídá na 3012
Andy Scheuchzer:3. července 8:13

Pochybuju, že by ve VB neexistovalo Equals(). Dokonce jsem našel i lekci s tím názvem, takže…
Mělo by to být nějak takhle

if list1.Equals(list2) then //…
Nahoru Odpovědět 3. července 8:13
Za správnost neručím.
Avatar
Odpovídá na Andy Scheuchzer
Michal Žůrek - misaz:3. července 10:55

Equals existuje, ale porovnává to instance, pokud bude mít 2 instance jinak naprosto stejných listů vrátí mu to False.

Nahoru Odpovědět 3. července 10:55
Nesnáším {}, proto se jim vyhýbám.
Avatar
Michal Žůrek - misaz:3. července 10:57

Nejjednodušší je to udělat pomocí LINQ metod Except a Any.

Dim firstNotSecond = list1.Except(list2).ToList()
Dim secondNotFirst = list2.Except(list1).ToList()

If Not firstNotSecond.Any() And Not secondNotFirst.Any() Then
        Console.WriteLine("zhodujú sa")
Else
        Console.WriteLine("nezhodujú sa")
End If

https://stackoverflow.com/…are-two-list

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 3. července 10:57
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek - misaz
Andy Scheuchzer:3. července 11:05

Tak jsem zas o něco chytřejší i já :-).

Nahoru Odpovědět 3. července 11:05
Za správnost neručím.
Avatar
krepsy3
Redaktor
Avatar
Odpovídá na Andy Scheuchzer
krepsy3:3. července 17:53

Ahoj, dobrým zvykem zde na ITnetworku je označit komentář, který ti vyřešil problém, jako řešení - uděláš to tou velkou fajfkou vedle komentáře :)

Nahoru Odpovědět  +1 3. července 17:53
Programátor je stroj k převodu kávy na kód.
Avatar
Odpovídá na krepsy3
Andy Scheuchzer:3. července 18:01

Proč to píšeš jako odpověď na mně? :-)

Nahoru Odpovědět 3. července 18:01
Za správnost neručím.
Avatar
krepsy3
Redaktor
Avatar
Odpovídá na Andy Scheuchzer
krepsy3:3. července 19:44

Aha, sorry, to vypadalo, že jsi autor vlákna :D :D :D My bad

Nahoru Odpovědět  +1 3. července 19:44
Programátor je stroj k převodu kávy na kód.
Avatar
3012
Člen
Avatar
Odpovídá na krepsy3
3012:3. července 21:33

Ahoj už som to urobil, len tak mimochodom robím to vždy, len až teraz som sa dostal na počítač. Ďakujem všetkým za pomoc, veľmy si ju cením.

 
Nahoru Odpovědět  +1 3. července 21:33
Avatar
krepsy3
Redaktor
Avatar
Odpovídá na 3012
krepsy3:3. července 22:21

To tě šlechtí :D Bývá dost příspěvků, kde to není udělaný, tak to radš připomínám :D ;)

Nahoru Odpovědět  +1 3. července 22:21
Programátor je stroj k převodu kávy na kód.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.