Python týden Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python

Diskuze: porovnávanie suborov vo VBnet v cike for each (kde robým chybu?)

Aktivity (4)
Avatar
3012
Člen
Avatar
3012:5.7.2018 16:11

Dobý ďeň, pracujem na progeame ktorý porovnáva niekolko listov, tento kód funguje:

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

Ak ho upravým na tento kód funguje len ak porovnávam jednu dvojicu zoznamov, ak porovnávam zoznamov viac vypýše že sú odlišné aj tie ktoré boli v prípade, že som porovnával len jednu dvojucu zhodné.

Using sw As New StreamWriter("rozdielne.txt")

            For Each polozka As String In listyZoznam
                Dim firstNotSecond = list1.Except(list2).ToList()
                Dim secondNotFirst = list2.Except(list2).ToList()



                If Not firstNotSecond.Any() And Not secondNotFirst.Any() Then
                    Console.WriteLine("zhoduju sa")


                Else
                    Console.WriteLine("nezhodujú sa")
                    sw.WriteLine("nezhodujú sa")

                End If



            Next

                sw.Flush()

        End Using

Mohol by my niekto vysvetliť kde robým chybu, ďakujem.

 
Odpovědět 5.7.2018 16:11
Avatar
3012
Člen
Avatar
3012:5.7.2018 16:14

omil táto časť vyzerá takto to je preklep v kode to mám takto

Dim firstNotSecond = list1.Except(list2).ToList()
               Dim secondNotFirst = list2.Except(list1).ToList()
 
Nahoru Odpovědět 5.7.2018 16:14
Avatar
Petr Jílek
Člen
Avatar
Petr Jílek:9.9.2018 21:29

Popravdě úplně nevim co to má přesně dělat s tím cyklem. Neni mi jasný, jak je řešeno načítání nových dat do List1 List2 pro každý cyklus... Není chyba zde? Monitorování obsahu proměnných při debugu nepomůže?

Editováno 9.9.2018 21:31
 
Nahoru Odpovědět  +1 9.9.2018 21:29
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 3 zpráv z 3.