Programiranje

C# - Problemi i rješenja

Badjo_5 sri 11.3.2020 22:26

Opet ja i linq

Imam dvije liste, lista_a se sastoji se nekakvog id-a i imena

1, Petar
2, Marko
4, Stjepan
5, Ivan
6, Hrvoje

lista_b je slična, isto postoji id i ime, naziv ili kako god

1, Coca-Cola

1, Voda
2, Heineken
6, Corona
7, Staročeško


Rezultat bi trebao ovako izgledati

1, Petar        1, Coca-Cola

1, Petar        1, Voda
2, Marko       2, Heineken
4, Stjepan      
5, Ivan      
6, Hrvoje      6, Corona
                  7, Staročeško

 

Edit:

Liste su sortirane po id-jevima, dalo bi se ručno riješiti:

uzmi prvi id, provjeri da li ima takav u drugoj listi, ako ima upiši id, podatak iz a, opet id, podatak iz b

provjeri da li slijedeći red iz liste b ima isti id ili je drugačiji.........

Pero Dinamit pet 13.3.2020 13:00

Ovako nešto možda

 

public class GrupiranjeClass {     class Osoba    {         public string Ime { getset; }     }     class Pivo    {         public string NazivPiva { getset; }         public Osoba Osoba { getset; }     }     public void Grupiraj()     {         Osoba ivo = new Osoba { Ime = "Ivo" };         Osoba pero = new Osoba { Ime = "pero" };         Osoba marko = new Osoba { Ime = "marko" };         Pivo zuja = new Pivo { NazivPiva = "žuja", Osoba = ivo };         Pivo karlovacko = new Pivo { NazivPiva = "karlovacko", Osoba = ivo };         Pivo karlovacko1 = new Pivo { NazivPiva = "karlovacko", Osoba = pero };         Pivo lasko = new Pivo { NazivPiva = "laško", Osoba = marko };         List<Osobaosoba = new List<Osoba> { ivoperomarko };         List<Pivopivo = new List<Pivo> { zujakarlovackokarlovacko1lasko };         var query = from o in osoba                    join p in pivo on o equals p.Osoba into gj                     select new { Ime = o.Ime, Pivo = gj };         foreach (var q in query)         {             Console.WriteLine($"{q.Ime}:");             foreach (Pivo p in q.Pivo)             {                 Console.WriteLine($" {p.NazivPiva}");             }         }     } }

 

Guglaj malo više grouped joins.

Sry što ne radi ovo formatiranje kôda, kopiraj ga negdje u editor pa će biti bolje. Zašto je to tako, ne bi znao.